我有一个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用户是同一域的成员。
答案 0 :(得分:1)
您的选择是
使用您当前登录的Windows域帐户登录到SQL Server。您可以通过指定Trusted_Connection=yes;
或
使用SQL登录名登录到SQL Server。
使用SQL提供程序连接字符串,这是仅有的两种选择。具体来说,您不能使用SQL访问提供程序进行模拟,即,使用与您当前登录的Windows域不同的帐户登录到SQL Server。
答案 1 :(得分:0)
Microsoft设计了与SQL Server的AD集成,以使用客户端应用程序的帐户,而不能将登录作为连接字符串的一部分进行处理。如果用户不想使用数据库访问所需的帐户登录计算机,则下一个最佳选择可能是ShellRunAs,以便让用户以正确的AD帐户运行客户端应用程序