【问题标题】:Passthrough SQL Query via MS Access通过 MS Access 传递 SQL 查询
【发布时间】:2022-01-21 05:46:24
【问题描述】:

目前,我有两个单独的 SQL Server 实例,我通过 Microsoft Access 中的表单使用传递 SQL 查询进行查询。

对 SERVER1 的查询每次都能正常工作。我会说大约 80% 的时间在 Access 关闭并重新打开后对 SERVER2 的查询不起作用,直到我进入并“修改”OBDC 连接字符串并保存查询。我在 modify 周围加了引号,因为如果我编辑字符串中的一个字符并重新添加它然后保存,它通常会再次开始工作(但并非总是如此),即使字符串没有改变。一旦它工作,它将继续工作,直到再次关闭 Access。

这通常是三个错误之一,这里是其中两个,第三个我不太常见的错误是登录不正确:

OBDC 连接字符串如下(值得我尝试 ODBC Driver 17 for SQL Server 并得到相同的结果):

ODBC;Description=SERVER2 PASSTHROUGH;DRIVER=ODBC Driver 11 for SQL Server;SERVER=SERVER2;UID=Test;PWD=Password;DATABASE=MyDB;LANGUAGE=us_english;ApplicationIntent=READONLY;

我该如何解决这个问题?另外,我愿意提供任何澄清信息。

谢谢!

【问题讨论】:

标签: sql sql-server ms-access odbc pass-through


【解决方案1】:

感谢 Alex 的回复。

Alex 推荐去SQLCMD Unable to complete login process due to delay in opening server connection。我应该更科学一点,但我使用了霰弹枪方法……我将共享内存设置为禁用,并增加了连接超时和命令超时。

这对我产生了一个新的错误,类似于No process is on the other end of the pipe (SQL Server 2012)

正如许多 cmets 所建议的,我的 SQL Server 设置为 SQL Server 和 Windows 身份验证模式,我将其更改为 Windows 身份验证模式,然后回到 SQL Server 和 Windows 身份验证模式,并重新启动了我的 SQL Server。

目前,我的问题还没有通过多次 MS Access 重新启动和几次 PC 重新启动来解决。手指交叉。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多