Windows 11 24H2中Access97数据库无密码却报‘无效密码’错误求助
Windows 11 24H2下Access 97数据库读取报错问题
- 在Windows 11 24H2版本中,由于Jet引擎相关文件更新,Access 97数据库频繁无法读取。即使数据库未设置密码,Access 97仍会抛出**"Not a valid password"**错误,而Access 2000数据库可正常运行。
Jet引擎文件版本差异
Windows 11 24H2 26100.5074(路径:C:\Windows\SysWOW64)
msjet40.dll:大小1,289,216字节,版本10.0.26100.5074,组件为Microsoft Jet Engine Librarymsjetoledb40.dll:大小349,696字节,版本10.0.26100.5074,组件为Microsoft OLE DB Provider for Jet
Windows 10至24H2之前的版本(路径:C:\Windows\SysWOW64)
msjet40.dll:大小1,318,912字节,版本4.0.9081.32,组件为Microsoft Jet Engine Librarymsjetoledb40.dll:大小518,144字节,版本4.0.9810.0,组件为Microsoft OLE DB Provider for Jet
报错场景
- ADO和DAO两种数据库连接方式均会导致Access 97数据库触发上述错误。
测试代码如下:
On Error Resume Next Dim Conn As ADODB.Connection Set Conn = New ADODB.Connection Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Access97DB.mdb;Jet OLEDB:Database Password=1111" ' 或设置Password=""(空密码) 'Access2000数据库可正常运行无报错,仅Access97数据库频繁出现错误。 If Err.Number = -2147217843 Then MsgBox Err.Number & vbCrLf & Err.Description '错误提示:Not a valid password Else Conn.Close End If Err.Clear Dim Db As DAO.Database Set Db = DAO.DBEngine.Workspaces(0).OpenDatabase(App.Path & "\Access97DB.mdb", False, False, ";PWD=1111") ' 或设置;PWD=(空密码) 'Access2000数据库可正常运行无报错,仅Access97数据库频繁出现错误。 If Err.Number = 3031 Then MsgBox Err.Number & vbCrLf & Err.Description '错误提示:Not a valid password Else Db.Close End If Err.Clear
内容的提问来源于stack exchange,提问作者새주소
相关产品推荐
相关产品推荐

