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



我一直在尝试并未能在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中是禁止的吗?

没有OleDb驱动程序支持使用Windows Auth提供用户名/密码。使用Windows认证的唯一方法是模拟用户,在Windows凭据库中注入用户的凭据,或者使用runas /netonly

EDIT:要在密码中使用反号或特殊字符,您需要将其封装在双引号

中例如,如果您的密码是" ' password",您可能需要输入:

OPENDATASOURCE('SQLNCLI', 'Data Source=server_name;uid=domainusername;pwd="`password"')

相关内容

  • 没有找到相关文章

最新更新