用于C#App的CLR20r3 System.Data.SqlClient.Sql

时间:2016-03-22 15:12:55

标签: c#

该应用程序在我的开发箱上工作正常,但我把它带到最终用户的计算机上它会出现此错误。我发布了它并将其安装在目标计算机上。

 SqlConnection cs = new SqlConnection("SERVER=SERVERWITHDB;DATABASE=DATABASENAME;Trusted_Connection=True");

这是设置SQL连接的正确方法吗?

2 个答案:

答案 0 :(得分:0)

如果需要在代码中构建连接字符串(而不是在exe.config文件中配置它),可以使用SqlConnectionStringBuilder

SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder
{
    DataSource = "SERVERWITHDB",
    InitialCatalog = "DATABASENAME",
    IntegratedSecurity = true
};
SqlConnection cs = new SqlConnection(connectionStringBuilder.ToString());

您会看到您在问题中显示的连接字符串使用了错误的关键字。 SqlConnection的有效连接字符串如下所示:

SqlConnection cs = new SqlConnection("Data Source=SERVERWITHDB;Initial Catalog=DATABASENAME;Integrated Security=True");

所以关键字是:

  • Data Source表示数据库服务器名称
  • Initial Catalog供数据库使用
  • Integrated Security设置为True进行Windows身份验证,False进行SQL身份验证
  • User ID表示用户名(仅限SQL server身份验证)
  • Password获取密码(仅限SQL服务器身份验证)

答案 1 :(得分:0)

您需要检查网络用户是否具有SQL Server的访问权限(您的集成安全性设置为true)。