98及2000的預設系統目錄不同??? |
答題得分者是:dllee
|
tony115722
一般會員 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
您好: 我目前一隻程式要在98及2000環境下使用..我會使用到資料庫
且也會設定odbc來連接資料庫 (Access2000)
利用 登錄編輯程式將 odbc 的設定匯出..問題就發生了...
我在98環境下匯出的 *.reg 與 2000環境下匯出的 *.reg 檔不一樣. 以下為98 reg檔的其中一部份內容:
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\CarData]
"Driver"="C:\\WINDOWS\\SYSTEM\\ODBCJT32.DLL" 以下為2000 reg檔的其中一部份內容:
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\CarData]
"Driver"="C:\\WINNT\\System32\\ODBCJT32.DLL" 差異的地方就在預設系統目錄的不同 我在BCB5的 InstallShield 中
的 mark registry changes 選項中要如何設定才能在安裝時不會因
98及2000系統預設目錄的不同而無法連結資料庫 請問一般的軟体安裝都不會遇到這種問題..為什麼我會遇到呢???
他們是用什麼方法的啊??謝謝..... I like DeBug
------
I like DeBug | ||||
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
二個位置都註冊就ok了阿 你顯示的win2000的位置好像不對ㄝ
98,2000部份此為全部範例(其實內建的我沒寫) 此為Microsoft Access 檔名12345.mdb(資料庫) 其中的DBQ值為路徑C:\PROGRA~1\12345.mdb
**********************************************************************
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\12345]
"Driver"=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,4e,00,54,00,5c,00,53,00,79,\
00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6f,00,64,00,62,00,63,00,6a,00,\
74,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,00,00
"DBQ"=hex(2):43,00,3a,00,5c,00,50,00,52,00,4f,00,47,00,52,00,41,00,7e,00,31,00,\
5c,00,31,00,32,00,33,00,34,00,35,00,2e,00,6d,00,64,00,62,00,00,00
"DriverId"=dword:00000025
"FIL"="MS Access;"
"SafeTransactions"=dword:00000000
"UID"="" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\12345\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\12345\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00002000
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes"
"Page Timeout"=dword:00000005 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"12345"="Microsoft Access Driver (*.mdb)" [HKEY_USERS\.DEFAULT\Software\ODBC\OCBC.INI\12345]
"DBQ"=hex(2):43,00,3a,00,5c,00,50,00,52,00,4f,00,47,00,52,00,41,00,7e,00,31,00,\
5c,00,31,00,32,00,33,00,34,00,35,00,2e,00,6d,00,64,00,62,00,00,00
"Driver"=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,4e,00,54,00,5c,00,53,00,79,\
00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6f,00,64,00,62,00,63,00,6a,00,\
74,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,00,00
"DriverId"=dword:00000025
"FIL"="MA Access;"
"SafeTransactions"=dword:00000000
"UID"="" [HKEY_USERS\.DEFAULT\Software\ODBC\OCBC.INI\12345\Engines] [HKEY_USERS\.DEFAULT\Software\ODBC\OCBC.INI\12345\Engines\Jet]
"ImplicitCommitSnc"=""
"MaxBufferSize"=dword:00002000
"Page Timeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes" [HKEY_USERS\.DEFAULT\Software\ODBC\OCBC.INI\ODBC Data Sources]
"12345"="Microsoft Access Driver (*.mdb)" [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\12345]
"Driver"=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,4e,00,54,00,5c,00,53,00,79,\
00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6f,00,64,00,62,00,63,00,6a,00,\
74,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,00,00
"DBQ"=hex(2):43,00,3a,00,5c,00,50,00,52,00,4f,00,47,00,52,00,41,00,7e,00,31,00,\
5c,00,31,00,32,00,33,00,34,00,35,00,2e,00,6d,00,64,00,62,00,00,00
"DriverId"=dword:00000025
"FIL"="MS Access;"
"SafeTransactions"=dword:00000000
"UID"="" [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\12345\Engines] [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\12345\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00002000
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes"
"Page Timeout"=dword:00000005 [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\ODBC Data Sources]
"12345"="Microsoft Access Driver (*.mdb)"
********************************************************************** 如果是mysql或 possql需再搭配其他位置 發表人 - jackkcg 於 2002/10/05 18:04:11
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
||||
tony115722
一般會員 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
不懂耶..為什麼你的跟我不一下呢...怪怪..
以下是我從 *.reg 上貼上來的!!
還有..你的code 我怎麼都看不太懂耶...怪怪..
再幫個忙看看吧!! <<2000>>
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"CarDB"="Microsoft Access Driver (*.mdb)" Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\CarDB]
"Driver"="C:\\WINNT\\System32\\ODBCJT32.DLL"
"DBQ"="C:\\CAR\\Car.mdb"
"DriverId"=dword:00000019
"FIL"="MS Access;"
"SafeTransactions"=dword:00000000
"UID"="" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\CarDB\Engines] [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\CarDB\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00000800
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes" <<98>>
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources]
"CarDB"="Microsoft Access Driver (*.mdb)" REGEDIT4 [HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\CarDB]
"Driver"="C:\\WINDOWS\\SYSTEM\\ODBCJT32.DLL"
"DBQ"="C:\\CAR\\Car.mdb"
"DriverId"=dword:00000019
"FIL"="MS Access;"
"SafeTransactions"=dword:00000000
"UID"="" [HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\CarDB\Engines] [HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\CarDB\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00000800
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes" I like DeBug
------
I like DeBug |
||||
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
你是說這一個2000的odbc位置不一樣嗎? [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\12345\Engines] [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\12345\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00002000
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes"
"Page Timeout"=dword:00000005 [HKEY_USERS\S-1-5-21-515967899-1060284298-839522115-500\Software\ODBC\ODBC.INI\ODBC Data Sources]
"12345"="Microsoft Access Driver (*.mdb)" **********************************************************************
DBQ值可以為16進位值阿=(資料庫路徑)
我的位置是全部odbc的值包括Driver部份 有一些預設值我刪除不秀 看看你是否有此位置 有些是相互產生的值 [HKEY_USERS\.DEFAULT\Software\ODBC\OCBC.INI\12345]
的代表我的資料庫名稱 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"12345"="Microsoft Access Driver (*.mdb)" 代表使用Microsoft Access Driver (*.mdb) 驗證是否對錯就是將匯出的值*.reg 到一台剛剛灌好2000下測試 看看你的reg 是否可以免設定就可連接資料庫
當然BDE的reg與Driver部份 可以先用其他軟體安裝 試看看吧 我的位置 你只要注意啟始位置 底下參數值再研究看看
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
||||
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
在 REGISTRY 的設定中,不是也有 %SYSTEM% 這類的系統字串的代號嗎?
使用這類的代號,可以避免不同版本的 Windows 或是安裝目錄不同,而要重新設定 REG 的問題。
只是有那些可以用... 小弟就沒用過了,不過有就是了。
在 BCB/Delphi 的 TRegistry 物件中就有說明 rdExpandString Data value type is a null-terminated string that contains unexpanded references to environment variables (for example, "%PATH%"). It is a Unicode or ANSI string depending on whether the application calls the Unicode or ANSI string functions. 沒空更新的網頁...
------
http://www.ViewMove.com |
||||
tony115722
一般會員 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |