使用Access中的SQL链接表删除登录提示

时间:2012-02-08 15:37:49

标签: sql-server ms-access odbc

我遇到与此类似的问题: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身份验证设置。

2 个答案:

答案 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