Bri*_*ndy 5 c++ sql sql-server
当我尝试使用此连接字符串连接到远程SQL服务器时出现此错误.
错误:
ODBC错误:28000118452 [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户''登录失败.用户未与受信任的SQL Server连接关联.
连接字符串:
"DRIVER = {SQL Server}; SERVER = testserver,1433; Trusted_Connection = {Yes};"
请注意,如果我指定本地计算机,相同的连接字符串工作正常.
我的问题:为什么远程SQL服务器认为我的用户名是空白的''?
我首先使用WNetAddConnection Win32 API对远程计算机进行了有效登录.
编辑:从Management Studio连接时出现相同的错误.但是我认为我的程序有更高的工作机会,因为我首先建立了与远程机器的连接.
Edit2:注意我真的需要一个使用Windows身份验证的解决方案.我已经使用SQL身份验证了.
想法:
\n\n1.) 两台机器是否在同一个域中?我这么想可能是因为您提到与 WNet* 建立连接......
\n\n如果没有,集成安全性会给您带来问题。
\n\n编辑:我看到两台机器不在同一个域中。要使用集成安全性,SQL Server 所在的域必须信任您的本地计算机所在的域。
\n\n另一个编辑:证实上述陈述。
\n\n来自链接:\n 如果登录的用户是来自 SQL Server\xe2\x80\x99s 域的不同不受信任域的域帐户,则可能会出现此错误消息。下一步是将客户端计算机移至与 SQL Server 相同的域并将其设置为使用域帐户,或者在域之间建立相互信任。建立互信是一个复杂的过程,应该非常谨慎并考虑到安全问题。
\n\n2.) 检查并确保服务器上的 SPN 设置正确。
\n\n在这里查看更多指导,但基本上你会这样做:
\n\nsetspn -L 服务器名
\n\nSPN 之一需要如下所示:
\n\nMSSQLSvc/服务器名称:1433
\n\n3.) 再次编辑: 如果两台机器都不在域中,您所需要做的就是拥有在两台机器上匹配的本地用户 ID/密码。
\n\n例如,两台机器上都有一个名为 brian 的用户,两个用户的密码都是“letmein”。
\n| 归档时间: |
|
| 查看次数: |
2876 次 |
| 最近记录: |