Microsoft Access:通过Active Directory用户名和密码Trusted_Connection = no连接到SQL Server

时间:2018-07-02 14:22:48

标签: sql-server vba connection-string

我有一个Microsoft Access应用程序,它会生成如下连接字符串:

Provider=SQLNCLI11;Server=servername;Database=db_name;Trusted_Connection=yes;

这没问题。

我想要做的是连接到SQL Server实例,用户必须在其中插入他的Active Directory名称和密码。

赞:

Provider=SQLNCLI11;Server=servername;Database=db_name;Uid=username;Pwd=password;

这仅适用于直接在SQL Server上创建的用户。

我尝试了Uid=DOMAIN\username,但是没有用。

这可能吗?还是有另一种方法可以解决这个问题?

环境: 该用户正在使用具有本地帐户的本地PC,然后使用其AD用户和密码进行“ NetworkConnect”。

此后,作为其AD用户的“ RunAs”正在工作,但是还有另一个从Access应用程序启动的应用程序,并且该应用程序必须使用本地用户帐户启动。

SQL Server和AD用户是同一域的成员。

2 个答案:

答案 0 :(得分:1)

您的选择是

  1. 使用您当前登录的Windows域帐户登录到SQL Server。您可以通过指定Trusted_Connection=yes;

  2. 自动执行此操作
  3. 使用SQL登录名登录到SQL Server。

使用SQL提供程序连接字符串,这是仅有的两种选择。具体来说,您不能使用SQL访问提供程序进行模拟,即,使用与您当前登录的Windows域不同的帐户登录到SQL Server。

答案 1 :(得分:0)

Microsoft设计了与SQL Server的AD集成,以使用客户端应用程序的帐户,而不能将登录作为连接字符串的一部分进行处理。如果用户不想使用数据库访问所需的帐户登录计算机,则下一个最佳选择可能是ShellRunAs,以便让用户以正确的AD帐户运行客户端应用程序