訪問access提示不能打開注冊表關鍵字
來源:程序員人生 發布時間:2014-01-17 09:28:41 閱讀次數:3201次
access 不能打開注冊表關鍵字
錯誤信息如下
Microsoft OLE DB Provider for ODBC Drivers 錯誤
[Microsoft][ODBC Microsoft Access Driver]常見錯誤 不能打開注冊表關鍵字 Temporary (volatile) Jet DSN for process x Thread x DBC xfb Jet
下面幾個可能原因
微軟已經不更新ODBC需要改用JET的方式連接ACCESS數據庫文件;
系統目錄的權限發生的變更
也有老帖子說什么原因是“ACCESS數據庫文件是ACCESS版本的”這個無須考慮我用的是ACCESS數據庫
對于第一個原因原來的連接字串如下
ODBC連接方式
mdbpath=serverMapPath("mymdbasp")
CnnStr = "DBQ=" & mdbpath & ";DRIVER={Microsoft Access Driver (*mdb)};uid=admin;pwd="
改用JET連接后連接字串為
JET連接方式
CnnStr = "Provider=MicrosoftJetOLEDB;User Id=admin;Data Source="& mdbpath &" ;Password=luntanbbs"
測試過后無效雖然提示的錯誤信息有點不同
Microsoft JET Database Engine 錯誤 未指定的錯誤
最后檢查第二個原因系統目錄權限不足經詢問原來由于出于安全的考慮一同事把該服務器的WINNT目錄設置為 Administratorssystem “完全控制”users 只讀
但是按道理這樣的權限設置ODBC的驅動程序處于 winntsystemodbcjtdll 這個也是可讀的難道是因為缺少“執行”權限?
我把 winntsystem目錄下所有以odbc開頭的DLL文件全部授予“執行”權限發現還是一樣的錯誤信息跟著我索性把整個 system 目錄設成 everyone 可執行可是一測試依然不行
難道是還有其他文件被ODBC或JET調用但又不在這個system目錄下且又沒有得到充分授權而導致失敗?
正在想的時候驀然瞥見 winnttemp 目錄嘿我把 temp 目錄設置成 everyone 可“寫入”看看
一測試嘿成了使用ODBC連接方式的程序成功的讀取更新ACCESS數據庫中的記錄
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈