访问Access数据库 报错80040e14 未知

moonspot 2015-01-12 08:17:43
程序一直运行正常,最近发现在一台电脑上运行不了了。VB编制的程序访问Access数据库,报“运行时错误‘-2147217900 (8004e14)':未知”。然后发现这台电脑上好多程序都运行不了,程序改用C#编制也报“未知”。在其他电脑上一切正常。
    Public Conn As New ADODB.Connection
Conn.Provider = "Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password = '123'"
Conn.ConnectionString = App.path & "MyMDB.mdb"
Conn.Open
Dim findrs As New ADODB.Recordset
Set findrs.ActiveConnection = Conn
findrs.CursorLocation = adUseClient
findrs.Open "select * from Mytable where ID =123" '<==========在这里出错


        public OleDbConnection MyConn;
MyConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Mymdb.mdb;Jet OLEDB:Database Password = '123';");
MyConn.Open();
OleDbDataReader reader;
OleDbCommand command = new OleDbCommand("select * from Mytable", MyConn);
reader = command.ExecuteReader();//<=====================在这里出错


调试VB的程序,发现程序执行中调用过MSADO15.Dll、MSJETOLEDB4.dll、MSDART.dll、OLE32.Dll、OLEaut32.dll、MSvcrt.dll、ntdll.dll、Kernel32.dll等。
先怀疑前两个文件有问题,重装了MDAC、重装了Office 2010、重装了.net 4.0、甚至重装了VS2010。仍然如故。
最后从另外电脑上把上述文件复制过来覆盖这台出错电脑的相应文件,还是不行。

没招了。

在这台电脑上VB程序使用DAO执行上面代码段功能则正常,就是引用DAO360.Dll的数据连接方法没有问题。
C#程序使用ADODB似乎也没有问题。

问题到底在哪儿呢?
...全文
287 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
happlygong 2015-01-20
  • 打赏
  • 举报
回复
有没有人知道啊,也发现同样的“未知”错误了
moonspot 2015-01-13
  • 打赏
  • 举报
回复
在其他电脑上这一段能正常运行。办公室电脑配置都是差不多的。
moonspot 2015-01-13
  • 打赏
  • 举报
回复
to ACMAIN_CHM:
ACMAIN_CHM 2015-01-12
  • 打赏
  • 举报
回复
Office 2010 需要另外下载安装数据库驱动。 ACCESS2007以上已经改为 Microsoft ACE OLEDB 12.0 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False; http://www.microsoft.com/en-us/download/details.aspx?id=13255

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧