ADODB.Connection 未定义

Posted

技术标签:

【中文标题】ADODB.Connection 未定义【英文标题】:ADODB.Connection undefined 【发布时间】:2010-12-18 02:27:00 【问题描述】:

参考Excel VBA to SQL Server without SSIS

完成上述工作后,我从例程中复制了所有全局变量/常量,其中包括

Const CS As String = "Driver=SQL Server;" _ &“服务器=****;” _ &“数据库=****;” _ &“UID=****;” _ &“密码=****” 将 DB_Conn 调暗为 ADODB.Connection 暗淡命令作为 ADODB.Command 将 DB_Status As String 调暗到另一个电子表格中的类似模块中。我也复制到同一个模块
子 Connect_To_Lockbox()
    如果 DB_Status  "打开" 则
        设置 DB_Conn = 新连接
        DB_Conn.ConnectionString = CS
        DB_Conn.Open ' 问题!
        DB_Status = "打开"
    万一
End Sub
我添加了相同的参考(ADO 2.8)

第一个电子表格仍然有效; DB_Conn.Open 的第二个弹出“运行时错误'-214767259 (80004005)': [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified” 删除两者上的引用、保存文件、重新打开、重新添加引用都无济于事。一个仍然有效,另一个得到错误。

?!?

【问题讨论】:

通过我假设在同一个文档中的另一个电子表格,对吗? @Stevoni:不,它是将模块从一个电子表格复制到另一个电子表格。两个电子表格都必须连接到同一个 SQL Server 实例,因此唯一需要更改的是特定数据库的身份验证。我现在退休了,不能说我是如何解决的,但我知道它最终奏效了。 【参考方案1】:

我观察到相同的错误消息,就我而言,没有任何改变。我想知道是否需要重新安装我的 odbc 驱动程序(基于我在网上阅读的内容)。无论如何,重新启动excel就可以了。有时解决方案要简单得多。 :-)

【讨论】:

重启并没有为我解决问题,如问题文本所示。【参考方案2】:

当错误弹出时,检查您的“本地”窗口以查看 CS 包含的内容。查看 > 局部变量窗口

【讨论】:

【参考方案3】:

问题:编译器找不到您的常量。

解决方案:由于常量位于单独的模块中,您需要将其设置为 Public 以供其他代码查看。

证明: 为了证明这个理论,您可以执行以下操作: 打开一个新的 Excel 电子表格 转到 VBA 设计器并添加一个新模块 在这个模块中放:

Const TestString As String = "Test String"

然后将以下代码添加到 ThisWorkbook:

Public Sub TestString()
   MsgBox (TestString)
End Sub

将此返回添加到工作簿并添加一个按钮后,选择“TestString”作为单击时运行的宏。

单击按钮,将出现一个空白消息框。 回到 VBA 设计器,将 Module1 中的 const 更改为 Public 单击电子表格上的按钮,您现在应该会在消息框中看到“测试字符串”。

【讨论】:

不,它们在同一个模块中。抱歉,之前不清楚。【参考方案4】:

我意识到这个问题真的很老了。但是为了记录,我想在这里记录我的错误解决方案:这是电子表格中的数据相关错误!一列被格式化为日期并包含值 3000000。将格式更改为数字解决了错误 80004005。

【讨论】:

不是一回事。调试器显示尝试执行打开连接方法时发生错误。

以上是关于ADODB.Connection 未定义的主要内容,如果未能解决你的问题,请参考以下文章

PHP ODBC 创建数据库 返回 ADODB.Connection 错误 '800a0e7a'

正确使用CurrentProject.Connection进行ADODB.Connection?

调用 `ADODB.connection.open` 时检查用户的权限

数据库问题:啥是Connection String

ADODB.Connection (0x800A0E7A)未找到提供程序。该程序可能未正确安装。

ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!