Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 局域网上的microsoftsqlserver_C#_.net_Sql Server_Sql Server 2012 - Fatal编程技术网

C# 局域网上的microsoftsqlserver

C# 局域网上的microsoftsqlserver,c#,.net,sql-server,sql-server-2012,C#,.net,Sql Server,Sql Server 2012,从我所在域的局域网中的其他PC连接到SQL Server 2012时,我遇到了一个小问题 我已经从这个服务器正确设置了TCP/IP连接,并且创建了一个用户 csb = new SqlConnectionStringBuilder(); csb.DataSource = "PC-81"; csb.UserID = "bla"; csb.Password = "bla"; csb.IntegratedSecurity = false; csb.InitialCatalog = "CryptoChat

从我所在域的局域网中的其他PC连接到SQL Server 2012时,我遇到了一个小问题

我已经从这个服务器正确设置了TCP/IP连接,并且创建了一个用户

csb = new SqlConnectionStringBuilder();
csb.DataSource = "PC-81";
csb.UserID = "bla";
csb.Password = "bla";
csb.IntegratedSecurity = false;
csb.InitialCatalog = "CryptoChat";
这是我在C中构建的连接字符串,我有一个SQLProperty来更新用户界面上的控件。SQL Server不断尝试使用域帐户登录,但我将其关闭。你能帮助我吗?我完全不知道为什么它不起作用

你好,马库斯

这是设置SqlConnection的代码:

SQLSTRUser列出我的数据库的SELECT命令

以下是我得到的一个例外:

System.Data.SqlClient.SqlException 0x80131904:Die von der Anmeldung angeforderte CryptoChat Datenbank kann nicht geöffnet werden。费勒·贝德尔·安梅尔敦。 费勒·贝德尔是贝努策的“域名用户”

根据谷歌Tranlate的说法,这意味着:

System.Data.SqlClient.SqlException 0x80131904:无法打开CryptoChat应用程序数据库请求的。登录失败。用户“域用户”登录失败


根据你在评论中的回答,我认为这可以归结为两种可能性之一。要么:

您的代码未连接到您认为是的服务器,即,与您更改身份验证设置的服务器不同,或者未使用您认为是的连接设置,或者

您有一个安全策略,防止您将SQL Server更改为混合身份验证


上面的第一个比大多数开发人员意识到的更可能、更普遍。为了测试这一点,让它在连接之前打印出连接字符串/信息。

您如何知道它正在使用域/windows帐户登录?我查看了有关异常的更多信息,它说无法通过登录/显然您生成的连接字符串没有用于打开连接。您可以共享设置连接字符串的代码吗?得到例外情况?好的,例外情况是德语,它是一个文本,因为我会在没有视觉研究的情况下在PC上尝试它。我查看了SQL Server的日志,他们说这是唯一尝试从域帐户连接的日志。我打印了出来,看起来是正确的。现在我应该寻找安全策略。我尝试了服务器的不同规则,目前我正在使用sa,它应该有权。。我要照顾什么?一个安全设置,它说不作为用户连接?欧元:我非常感谢大家的帮助!在程序尝试连接时,使用SQL事件探查器跟踪SQL Server。确保在跟踪中包括所有审核登录和错误事件,以及所有登录/用户信息列。从你的程序中查找LogFail事件,让我们知道它有什么信息。有时很简单,它没有连接,因为我使用调试目录而不是发布目录进行测试。所以这个连接在all@Ethnor那是1,对吗?正如我所说,这比大多数开发人员意识到的要普遍得多。我怀疑这是因为与SQL Server工具不同,程序代码通常没有直观的指示器来指示它真正要连接的对象。我从调试目录启动了我的工具,并将其发布到发布目录。所以我开始做错了
if (conn == null)
{
    conn = new SqlConnection(csb.ConnectionString);
}

if (cmdUser == null)
{
   cmdUser = new SqlCommand(SQLSTRUser, conn);
}