我试图托管一个SQL服务器数据库,但是每当我试图连接到它时,我都会得到以下错误:
该登录来自不受信任的域,不能与Windows身份验证一起使用
我使用以下命令通过Matlab进行连接:
conn = database('Clinical_Data','DoyleLab07\Acc','','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqlserver://DOYLELAB07\SQLEXPRESS:54287;database=Clinical_Data;integratedSecurity=true;').
使用matlab连接到数据库,只要我在计算机上使用matlab,就可以正常工作,而计算机是我用来托管服务器的。然而,当我使用另一台计算机和相同的Matlab命令时,我得到了上面显示的错误。
当我看到控制面板\系统。我注意到在我的主机PC或我用来连接到主机的PC上没有列出任何域,但是这两台计算机在同一个工作组中。我是否能够通过创建一个域并将外部PC和主机添加到该域来解决我的问题?如果是的话,如何才能做到呢?
如有任何建议,将不胜感激。谢谢你看我的帖子。
发布于 2014-08-27 18:02:40
摆脱Integrated Security=true
对我起了作用。
发布于 2013-09-04 01:40:31
为了使用Windows身份验证,有两件事必须是正确的:
如果这两件事都不是真的,你必须做两件事中的一件:
到目前为止,最简单的方法是将Server更改为同时使用Windows和SQL server帐户。然后,只需在DB服务器上创建一个sql服务器用户,并更改连接字符串即可。
最好的情况选择1将需要一整天的安装和配置。备选案文2约需5分钟。
发布于 2016-07-28 19:10:19
如果您的Server位于一个域控制器上,并且试图从另一个域控制器连接到它,则当
IntegratedSecurity = true;
即使您在连接字符串中包含了有效的Server用户名和密码,也会发生这种情况,因为它们将自动与windows登录和密码一起被重写。集成安全性意味着-使用windows凭据对Server进行登录验证。因此,如果您登录到另一个域控制器,那么它将失败。在使用两个不同域控制器的情况下,您别无选择,只能使用
IntegratedSecurity = false;
现在,当集成安全性为false时,Server将使用连接字符串中提供的Server登录名和密码。为此,Server实例必须将其身份验证模式配置为混合模式,即Server和Windows身份验证模式。
若要在Server中验证或更改此设置,可以打开,右键单击服务器名称,然后选择“属性”。在出现的弹出窗口上,选择Security,如果需要,您将看到更改此设置的位置。
https://stackoverflow.com/questions/18603696
复制相似问题