首先,據我所知,Borland/CodeGear沒有發布過支持64bit windows的BDE安裝包,如果你在網上看到了相關的BDE安裝包,很有可能是使用者自己重新打包發布的。
無論是在32bit windows還是64bit windows下,發布BDE關鍵是以下幾點
1:將BDE相關檔案發布到目標機器上的特定檔案夾下。
2:在目標機器上創建指定的注冊表鍵值
3:在目標機器上創建BDEAdministrator的快捷方式和關聯檔案的打開方式
下面詳細說一下其中每一步驟。
1:在發布BDE相關檔案之前,首先你需要在自己的機器上獲得BDE的檔案。如果你本機已經安裝了Delphi(這里,將以Delphi 7為例,在其他版本的Delphi中獲得BDE檔案的方式大致相同,但可能會有名稱Borland與CodeGear之間的差別,實際遇到時,稍微注意即可),你可以在注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine 鍵值[DLLPath]下獲得本機BDE的安裝路徑,默認情況下,BDE會被安裝在 C:\Program Files\Common Files\Borland Shared\BDE 。簡單情況,只需要將該檔案夾下所有檔案都復制到目標機器上,即可保證目標機器上就擁有了BDE所有必需檔案。
在目標機器上,BDE的安裝檔案夾是可選的,不一定要安裝在%system%\Program Files\Common Files\Borland Shared(對于64bit OS也不一定要安裝在 %system%\Program Files(x86)\Common Files\Borland Shared)。由于BDE驅動和BDE administrator能否正確被呼叫是依賴于注冊表的鍵值,所以只需要在目標機器的注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine 鍵值[DLLPath]下指定BDE檔案所在的絕對路徑即可(這里就是絕對路徑,不考慮32/84bit OS下訪問系統檔案可能出現的重定向)。
2:在目標機器上創建注冊表鍵,既可以通過注冊表檔案自動匯入,也可以通過安裝程式來創建。
如果,只是希望簡單的獲得注冊表檔案的話,可以在一臺已經安裝了Delphi或BDE的機器上,匯出注冊表 [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine] 下所有鍵,然后將匯出的注冊表檔案手工或在安裝程式中自動匯入到目標機器上即可。
注意,在目標機器上匯入注冊表鍵時,32bit OS和64bit OS是有區別的。對于64bit OS,應該將注冊表檔案匯入到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node 鍵下,因為32bit應用程式只能訪問 [Wow6432Node] 下的鍵值。這個區別可能會影響到你在使用安裝包創建注冊表的方式,如果沒有創建在正確的路徑之下,則會影響到當你試圖打開BDE config檔案時,尋找不到正確的BDE Administrator程式。
在創建完注冊表鍵值后,不要忘記在目標機器上打開注冊表編輯器,設定相關登陸賬號的使用權限。
3:在目標機器上創建BDE Administrator和關聯BDE config檔案打開方式。
如果目標機器是64bit系統的話,請不要添加BDE administrator的快捷方式添加到control panel icon,因為32bit下的cpl檔案在64bit下可能不能正常作業,你可以選擇將其添加到開始選單欄,開始選單的位置在%allusersprofile%\start menu\bdeadmin.lnk。
另外,對于64bit系統你還需要特別做如下設定。
打開 Control Panel \ Administrative Tools \ Local Security Policy \ Security Options \ 找到 [User Account Control: Virtualize file and registry write failures to per-user locations] ,將這一項設定為 enable 。這一步很重要,因為如果不重要設定的話,你在切換BDE檔案的時候,BDEAdmin總是打開錯誤的BDE CFG檔案,其值被存盤在注冊表中一個虛擬存盤鍵值下,而不是BDE的鍵值。
以上三步安裝步驟完成后,如果你使用的是64bit OS,當你需要創建一個ODBC的alias時,你首先需要打開的時候32bit 版本的ODBC Administrator,該版本的ODBC程式可以在以下目錄找到 C:\Windows\SysWOW64\odbcad32.exe。在你配置ODBC的DSN時有一點需要注意一下,就是DSN分為system DSN和user DSN兩類,如果創建為user DSN時,則該DSN只能在當前系統賬號下可被訪問到,當切換賬號時,則不可訪問,如果你所配置說道BDE config檔案中有alias用到user DSN,則當切換系統賬號后,很有可能該BDE config檔案中的alias不可用。如果希望BDE config檔案中的alias可以用在多個系統賬號下,則將其使用到的DSN創建為system DSN即可。
uj5u.com熱心網友回復:
贊一個,好貼uj5u.com熱心網友回復:
謝謝分享,但BDE基本不用了。uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/91749.html
標籤:數據庫相關
