【问题标题】:Multiple-step OLE DB operation generated errors" when opening ADO connection打开 ADO 连接时多步 OLE DB 操作产生错误”
【发布时间】:2015-06-30 14:02:44
【问题描述】:

我有这个连接字符串

strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\mydb.accdr;Persist Security Info=False;"

当我尝试打开连接时,我收到此错误:

多步 OLE DB 操作产生错误”

打开 ADO 连接时。
我尝试了在谷歌上找到的所有可能的解决方案,但没有成功。注册表很好。

有什么建议吗?

这是我使用代码的方式:(cn 是一个全局的ADODB.Connection

Set cn = New ADODB.Connection
cn.Open strConnect, "Admin", ""

PC 运行的是未安装 MS Office 的 Windows XP。

编辑

我已经在应用程序之外测试了连接字符串,它工作正常。从代码打开连接时只是不想连接。

还看了http://www.adopenstatic.com/faq/80040e21.asp,看来我的问题是场景2,但仍然不知道如何解决。

我查看过但没有帮助的其他参考资料有: https://support.microsoft.com/en-us/kb/269495

【问题讨论】:

    标签: ms-access vb6 oledb oledbconnection aceoledb


    【解决方案1】:

    也许您应该发布更多代码, 就像你如何使用那个字符串一样。 您也可以尝试“Source=C:\mydb.accdr”。应该有 2 个“\”。我仍然不明白为什么读者会删掉这个。 或者写一个示例程序, 您尝试连接到另一个测试数据库的位置, 看看它是否真的很好用。

    【讨论】:

    • 不应该更像这样:private ADODB.Connection cn = new ADODB.Connection();如果它像 oledb 的东西,也许你只需要做 cn.Open(strConnect, null, null, 0); [链接]support.microsoft.com/en-us/kb/308611[/link] 可能有帮助。有一个例子,但我不喜欢 adodb 的东西,我只用 oledb 的东西来做一些考试......
    • 我还需要补充一点,这只发生在一台电脑上。对别人很好
    • 那么必须是 Provider=Microsoft.ACE.OLEDB.12.0 在该计算机上丢失或未正确寻址。
    【解决方案2】:

    显然我的连接字符串有问题,有一个不受支持的属性。应该是这样的:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\mydb.accdr;
    

    没有不支持的Persist Security Info=False;

    希望有人觉得这很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      相关资源
      最近更新 更多