在 Access 中删除带有 SQL 链接表的登录提示
Posted
技术标签:
【中文标题】在 Access 中删除带有 SQL 链接表的登录提示【英文标题】:Remove login prompt with SQL linked tables in Access 【发布时间】:2012-02-08 15:37:48 【问题描述】:我有一个类似的问题:SQL Server 2008: ODBC connection problems
但我的是独一无二的,因为我已经在链接表时选中了“保存密码”选项,并且它工作正常,除非我尝试一次打开多个查询。
重建步骤:
1) 将 SQL 表链接到 Access 2003 前端,我的 DSN 如下所示:
[ODBC]
DRIVER=SQL Server
UID=ACD
WSID=ACD
APP=ACD
SERVER=xx.xx.xxx.xx,1053
Description=ACD Connection to SQL Server
Pwd=XXXXXXXX
起初我没有 PWD 线,不管有没有它似乎都没有区别。
2) 打开 1 个使用链接表的查询,没有登录提示
3) 在第一个查询仍然打开时打开第二个查询,出现此错误,然后是登录提示:
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed.
The login is from an untrusted domain and cannot be used with Windows authentication.
我可以直接打开任意数量的表格,而且没有密码提示。
如果我登录一次,在我重新启动 Access 之前不会再出现提示,但这不是我的应用程序的选项。
我只使用 SQL Server 身份验证,而不是为 Windows 身份验证设置。
【问题讨论】:
感谢您编辑我的帖子,我确实尝试使用 DSN 部分的代码块格式选项,但它仍然使所有内容都在一行中,很奇怪。 【参考方案1】:您可以尝试使用 DSN-Less 连接到您的 SQL 服务器,microsft 有一个支持页面:http://support.microsoft.com/kb/892490
这应该会停止提示
【讨论】:
+1 - 如果能解决问题,这看起来是个不错的选择。这是一个内部项目,我的老板只是给了我一些更“真实”的工作,所以在我测试和接受这个答案之前可能需要一点时间。不过我会解决的,谢谢。【参考方案2】:你必须在你的连接中保存密码(见参数dbAttachSavePWD)
Dim MyTable As TableDef
Set MyTable = CurrentDb.CreateTableDef(TableName, dbAttachSavePWD, SourceTableName, ConnectionString)
CurrentDb.TableDefs.Append MyTabl
例如附加 sql 表 [audit].[Details] 作为 AuditDetails 可以使用以下代码:
Dim MyTable As TableDef
Set MyTable = CurrentDb.CreateTableDef
(
"AuditDetails",
dbAttachSavePWD,
"audit.Details",
"ODBC;DRIVER=SQL Server;APP=TransFlow®;SERVER=sqlServerName;DATABASE=dbName;UID=userName;PWD=password"
)
CurrentDb.TableDefs.Append MyTabl
【讨论】:
以上是关于在 Access 中删除带有 SQL 链接表的登录提示的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sharepoint 列表中的链接表从 Excel 执行 sql 到 Access
迁移到新的 SQL Server 后,在 MS Access 中更新链接表的最佳方法是啥?
如何使用 Access VBA 更新所有 ODBC 链接的 SQL Server 表的服务器名称