做的程式使用了Access 2010版的資料庫,擴展名為.accdb。資料訪問使用"Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password = 'Pass'"。在沒有安裝Access的電腦上運行會有“未在本地計算機上注冊“Microsoft.ACE.OLEDB.12.0”提供程式”和“未找到提供程式。該程式可能未正確安裝。”等提示。
開始的做法是檢查注冊表中
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)]是否有這些值,如果有這些值判斷為已經安裝了AccessDatabaseEngine,如果沒有則安裝AccessDatabaseEngine。
"UsageCount"=dword:00000003
"Driver"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEODBC.DLL"
"Setup"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEODBC.DLL"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="2"
"FileExtns"="*.mdb,*.accdb"
"SQLLevel"="0"
但是現在在一臺卸載了Office的電腦上安裝運行時,失靈了。檢查注冊表發現那些值都在。
怎么才能正確判斷是否安裝了AccessDatabaseEngine呢?
uj5u.com熱心網友回復:
干嘛要檢測呢管它有沒有裝這個,直接用就是
報錯就try捕捉,報錯了不就證明沒裝么
前提是你處理好你的鏈接串在任何情況下都是好的
那么報錯就是沒裝咯
uj5u.com熱心網友回復:
是想在程式安裝的時候就檢測出來,安裝程式來處理。uj5u.com熱心網友回復:
一般安裝程式都支持內嵌程式吧比如inno一樣可以寫Delphi代碼
在里面直接呼叫,捕捉錯誤
我個人覺得不用費勁檢測,呼叫出錯就視為沒裝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/90312.html
標籤:數據庫相關
