C#登录用户失败''用户未与受信任的SQL Server连接(LAN)关联

时间:2011-11-07 11:30:46

标签: c# sql-server

标题是什么。

这是我的连接字符串:

\SQLEXPRESS;Database=GGDBase;Integrated Security=SSPI;Trusted_Connection=true;Persist Security Info=False;

该程序应该在“\”前面填写服务器名称。在安装了SQL Server的计算机上运行它,这段代码可以正常工作。

在通过网络连接到我的计算机上运行它,好吧,标题中的问题发生了。我已将我的SQL Server设置为混合(SQL和Windows身份验证),问题仍然存在。我还在服务器配置管理器中启用了TCP / IP和所有其他内容。

我知道其中一个答案是'制作用户'或者其他东西,并提供某种用户名和密码,但如果我要在SQL Server管理中乱搞,那就意味着谁想要安装和运行我的程序也将不得不弄乱一个非常用户不友好的SQL服务器。我教授不允许的东西。

所以我谦卑地问,有什么办法可以通过在C#中使用代码来消除这个问题吗?

基本上,我的教授想要的是:

  • 在所有计算机上安装/复制粘贴程序。
  • 在服务器上安装SQL Server Express。最小的事情要做。
  • 运行该程序,它将正常工作。

感谢您的所有答案。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你想要一个可以在很多差异计算机上运行的应用程序,它们都连接到服务器上的单个SQL Server数据库。 如果所有计算机都属于同一个域或工作组,则可以使用Windows Integrated Security,否则您将别无选择,只能使用SQL Server身份验证。 您只需在服务器上使用适当的权限设置一个SQL Server帐户,然后在C#中就可以创建这样的连接字符串。

        SqlConnectionStringBuilder connString = new SqlConnectionStringBuilder();
        connString.DataSource = ServerHere;
        connString.InitialCatalog = DBHere;
        connString.IntegratedSecurity = false;
        connString.UserID = SQLUser;
        connString.Password = SQLPassword;

        return connString.ConnectionString;

您的应用可以从那里获取。

答案 1 :(得分:0)

可能是它的工作。

Data Source=xxx.xxx.xxx.xxx,1433

你的电脑和端口的IP。