在Access 2013 VBA中,我尝试打开连接:
Set cn = New ADODB.Connection
connectionString = "ODBC;DSN=MyDSN;Trusted_Connection=Yes;APP=Microsoft Office 2013;DATABASE=MyTest"
cn.Open (connectionString)
我已经在其他代码中验证并使用了“MyDSN”,因此我知道DSN设置是正确的。当我执行上面的代码时,我得到一个运行时80004005错误告诉我“找不到数据源名称并且没有指定默认驱动程序”
我可以将DSN连接与ADODB连接一起使用吗?
答案 0 :(得分:0)
从连接字符串中丢弃“ODBC;”。 (我认为提供DSN值已经确定您需要ODBC连接。)
此示例在我的系统上的cn.Open
处失败,并显示您报告的相同错误消息...
ConnectionString = "ODBC;DSN=sqlserver_local;Trusted_Connection=Yes;DATABASE=testbed"
但放弃“ODBC;”允许cn.Open
成功...
ConnectionString = "DSN=sqlserver_local;Trusted_Connection=Yes;DATABASE=testbed"
答案 1 :(得分:0)
我正在使用以下连接字符串(仅示例),它可以与Access 2003和2013版本一起使用:
DRIVER= {Microsoft Access Driver (*.mdb)}; DBQ= C:\Test.mdb; DefaultDir = C:\; UID= admin; PWD= admin; FIL = MS Access; MaxBufferSize = 2048; MaxScanRows = 8; PageTimeout = 5; SafeTransactions = 0; Threads = 4; UserCommitSync = Yes;