SQL Server 我可以在OPENDATASOURCE()中使用域帐户吗

euoag5mw  于 2023-01-04  发布在  其他
关注(0)|答案(2)|浏览(134)

我一直在尝试使用SQL Server的OPENDATASOURCE()中的域帐户,但失败了。
我尝试了许多变体,包括以下几种:

OPENDATASOURCE ('SQLNCLI', 'Data Source=<server name>; User ID=<domain>\<user>; Password=<password>' )

我也尝试过像这样转义反斜杠:

OPENDATASOURCE ('SQLNCLI', 'Data Source=<server name>; User ID=<domain>\\<user>; Password=<password>' )

在第一种情况下,我得到以下错误消息:

Msg 18456, Level 14, State 1, Line 1
Login failed for user '<domain>\<user>'

在第二种情况下,除了在错误消息中看到两个反斜杠之外,我得到了相同的结果。
我尝试做的事情可行吗?另外,密码包含一个反勾号(')字符。这在OPENDATASOURCE中是被禁止的吗?

3npbholx

3npbholx1#

EDIT:要在密码中使用反勾号或特殊字符,需要用双引号括起来

例如,如果您的密码是“'password”,您可能需要输入如下内容:

OPENDATASOURCE('SQLNCLI', 'Data Source=server_name;uid=domain\username;pwd="`password"')
mrwjdhj3

mrwjdhj32#

没有OleDb驱动程序支持使用提供的用户名/密码进行Windows身份验证。使用Windows身份验证的唯一方法是模拟用户、将用户的凭据注入Windows凭据存储区或使用runas /netonly

相关问题