Excel 打开ADODB.Connection-接收错误:“0”;未找到数据源名称,也未指定默认驱动程序;

Excel 打开ADODB.Connection-接收错误:“0”;未找到数据源名称,也未指定默认驱动程序;,excel,vba,Excel,Vba,打开oConn.Open,我得到了错误信息 [Microsoft][ODBC驱动程序管理器]未找到数据源名称,也未指定默认驱动程序 该项目的目标是从SQL数据库生成Excel报表。这是第一次测试这个概念,看看我们能把它扩展到什么程度。存储过程可以工作,我已经用SQL进行了验证 我已验证是否存在Microsoft ActiveX Data Objects 6.1库。我知道还有2.8版本,但我选择了使用最新的扩展 我不知道我是否需要运行任何东西或连接它。我已经运行了“ODBC数据源(64位)”,但是

打开oConn.Open,我得到了错误信息

[Microsoft][ODBC驱动程序管理器]未找到数据源名称,也未指定默认驱动程序

该项目的目标是从SQL数据库生成Excel报表。这是第一次测试这个概念,看看我们能把它扩展到什么程度。存储过程可以工作,我已经用SQL进行了验证

我已验证是否存在Microsoft ActiveX Data Objects 6.1库。我知道还有2.8版本,但我选择了使用最新的扩展

我不知道我是否需要运行任何东西或连接它。我已经运行了“ODBC数据源(64位)”,但是我没有在ODBC中编辑任何内容

下面是我在VBA中运行的所有代码

Sub DataTakenFromSQL()
Dim oConn作为新的ADODB.连接
将rs设置为新ADODB.Recordset
作为ADODB.字段的Dim fld
将mySQL设置为字符串
将行设置为整数
作为整数的Dim Col
将ws设置为此工作簿
设置ws=ThisWorkbook
Application.ScreenUpdating=False
Set oConn=新的ADODB.Connection
Set rs=New ADODB.Recordset
mySQL=“EXEC[StoredProc]@var='nVarChar'”
ocann.ConnectionString=“{SQL Server};”和_
“服务器=[Server];uid=[UN];pwd=[PW];数据库=[database]”
oConn.ConnectionTimeout=90
奥康,开门
开放mySQL,奥康
如果是rs.EOF那么
MsgBox“没有匹配的记录”
rs.Close
奥康,结束
出口接头
如果结束
行=5
Col=1
对于rs字段中的每个fld
Sheet1.单元格(行、列).Value=fld.Name
列=(列+1)
下一个
先走一步
行=行+1
做而不做
Col=1
对于rs字段中的每个fld
表1.单元格(行、列)。值=fld
Col=Col+1
下一个
行=行+1
下一个
环
rs.Close
奥康,结束
端接头

代码缺失:

 Driver={SQLServer};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

正如Fink所指出的(用户:167478)。添加后,我能够成功运行存储过程。

代码缺失:

 Driver={SQLServer};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

正如Fink所指出的(用户:167478)。添加后,我能够成功运行存储过程。

应进行编辑以删除“tsql”标记。无法进行测试,但我认为您的连接字符串应该更像这样,因为它缺少驱动程序规范:
Driver={SQL Server};Server=myserver地址;数据库=myDataBase;Uid=我的用户名;Pwd=我的密码芬克,你是对的。谢谢你的帮助。之后我又出现了一个错误,但这是一个相当简单的修复(环境)。非常感谢。应该进行编辑以删除“tsql”标记。无法进行测试,但我认为您的连接字符串应该更像这样,因为它缺少驱动程序规范:
Driver={SQL Server};Server=myserver地址;数据库=myDataBase;Uid=我的用户名;Pwd=我的密码芬克,你是对的。谢谢你的帮助。之后我又出现了一个错误,但这是一个相当简单的修复(环境)。非常感谢你。