我遇到与此类似的问题: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 auth,而不是为Windows身份验证设置。
答案 0 :(得分:1)
您可以尝试使用DSN-Less连接到SQL服务器,microsoft有一个支持页面:http://support.microsoft.com/kb/892490
这应该停止提示
答案 1 :(得分:0)
您必须在连接中保存密码(请参阅参数 dbAttachSavePWD )
Dim MyTable As TableDef
Set MyTable = CurrentDb.CreateTableDef(TableName, dbAttachSavePWD, SourceTableName, ConnectionString)
CurrentDb.TableDefs.Append MyTabl
例如附加sql表[audit]。[详细信息]作为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