升級(jí)至Access2000時(shí)出現(xiàn)不可識(shí)別的數(shù)據(jù)庫格式錯(cuò)誤消息

字號(hào):

這篇文章中的信息適用于: Microsoft Visual Basic Professional Edition for Windows 5.0, 6.0 Microsoft Visual Basic Enterprise Edition for Windows 5.0, 6.0 Microsoft Access 2000 Microsoft Data Access Components 2.5, 2.6本文的發(fā)布號(hào)曾為 CHS238401   癥狀當(dāng)您試圖從 Visual Basic 程序訪問 Access 2000 數(shù)據(jù)庫時(shí),可能會(huì)遇到以下錯(cuò)誤之一:
    如果您使用 ADO(或 ADO 數(shù)據(jù)控件):
    運(yùn)行錯(cuò)誤:-2147467259:數(shù)據(jù)庫格式不可識(shí)別 如果您使用 DAO(或 DAO 一般數(shù)據(jù)控件):
    運(yùn)行錯(cuò)誤:3343:數(shù)據(jù)庫格式不可識(shí)別 原因Access 2000 使用的是 Jet 4.0 引擎,它創(chuàng)建 Jet 4.0 格式數(shù)據(jù)庫文件。 而 Jet 3.5 組件無法識(shí)別這種格式。 如果您使用 ADO,并試圖通過 Microsoft Jet OLEDB 3.51 提供程序連接 Access 2000 時(shí),將得到錯(cuò)誤消息 -2147467259。 如果您使用 DAO,并使用“Microsoft DAO 3.51 對(duì)象庫”時(shí),將得到上面的 3343 錯(cuò)誤消息。 DAO 一般數(shù)據(jù)控件不能與 Access 2000 數(shù)據(jù)庫一起工作,并總是產(chǎn)生 3343 錯(cuò)誤,但您可以按照本文的解決方式部分給出的說明來避免錯(cuò)誤發(fā)生。 之所以發(fā)生錯(cuò)誤,是因?yàn)榇丝丶腔?Jet 3.51 的,因而只能識(shí)別 Jet 3.51(或以前版本)的數(shù)據(jù)庫格式。 解決方案要解決這一問題,請(qǐng)使用以下任意一種方法:
    安裝 Visual Studio Service Pack 4。 對(duì)于 ADO(或 ADO 數(shù)據(jù)控件),請(qǐng)使用“Microsoft.Jet.OLEDB 4.0”提供程序。 對(duì)于 DAO,請(qǐng)轉(zhuǎn)到工程菜單,并選擇引用,使用“Microsoft DAO 3.6 對(duì)象庫”。 如果您使用的是一般數(shù)據(jù)控件,則需要打開一個(gè) DAO 3.6 記錄集,并將其指派為數(shù)據(jù)控件的源,如下所示:
    Option ExplicitPrivate daoDB36 As DatabasePrivate rs As DAO.RecordsetDim sPath As StringPrivate Sub Form_Load()sPath = _"C:\Program Files\Microsoft Office\Office amples\Northwind.mdb"Set daoDB36 = DBEngine(0).OpenDatabase(sPath)Set rs = daoDB36.OpenRecordset("Customers")Set Data1.Recordset = rsEnd Sub
    該問題在 Visual Basic Service Pack 4 中已得到解決,將新值 ( Access 2000 ) 添加到連接屬性中,DAO 數(shù)據(jù)控件即可打開 Access 2000 數(shù)據(jù)庫。 狀態(tài)Microsoft 已在 Visual Basic Service Pack 4 中解決了這一問題,將新值 (Access 2000) 添加到“連接”屬性中,DAO 數(shù)據(jù)控件即可打開 Access 2000 數(shù)據(jù)庫。 要獲得 Visual Studio Service Pack 4,請(qǐng)?jiān)L問以下網(wǎng)站:
    http://msdn.microsoft.com/vstudio/sp 參考有關(guān) Jet 4.0 的詳細(xì)信息,請(qǐng)參閱 Access 2000 文檔。
    有關(guān) ADO 和 DAO 的詳細(xì)信息,請(qǐng)參見 Visual Basic 文檔。
    有關(guān)“不可識(shí)別的數(shù)據(jù)庫格式”的詳細(xì)信息,請(qǐng)?jiān)?Visual Basic 隨附的 MSDN Library 中查詢相應(yīng)主題。