我有一个 Access 2010 前端连接到 SQL Server 2014 后端。我的机器上安装了 SSMS 2014,一切正常。(运行 Win7 64 位和 64 位 Office。)
长话短说,在尝试解决最终用户问题时,我尝试AccessDatabaseEngine_x64.exe
从Microsoft安装. (我最终从 downloads.com 获得它,因为 MS 链接不会下载它——我应该把它当作一个线索。)
安装它并没有解决问题,所以我卸载并重新启动了我的机器。现在,当我的 Access 应用程序尝试通过此代码连接到 SQL Server 时:
Dim ConfigRS As New ADODB.Recordset
Dim SQLString As String
SQLString = "SELECT <fields> " & _
"FROM <table> " & _
"WHERE <condition>"
ConfigRS.Open Source:=SQLString, ActiveConnection:=CurrentProject.Connection
我通常会收到此错误(服务器名称,以'c'开头,涂黑),但有时它工作得很好:
我可以从 Access 中浏览链接的表,我可以毫无问题地从 SSMS 中的表中进行选择,我只是无法通过代码打开 ADODB 查询。
今天唯一改变的是AccessDatabaseEngine
.
- 有谁知道我需要删除特定文件才能完成删除所有痕迹
AccessDatabaseEngine
? - 重新安装 SSMS 以确保所有正确的驱动程序都安装到位会更容易吗?
由于 Access 可以成功连接到 SQL Server 并对其执行查询,因此 Access 使用的连接字符串必须正确。另一方面,通过 ADO 建立的连接依赖于
CurrentProject.Connection
属性,我们不知道它是什么,并且意外失败。里面AccessDataBaseEngine_X64.exe
似乎没有 ODBC 驱动程序,无论是否AccessDataBaseEngine_X64.exe
安装 Access 都可以使用。所以Access使用的DSN没有改变,所以问题一定是ADO中使用的连接字符串。因此,如果您使用与 Access 相同的连接字符串,问题应该会消失。
至于为什么它突然开始表现异常,我无法完全评论。但是微软对该
CurrentProject.Connection
属性的陈述可能会给你一个线索(相关部分以粗体显示)。奖金:
如何知道 AccessDatabaseEngine_x64.exe 涉及哪些文件?(我很好奇!)
使用逆戟鲸