C#应用程序的CLR20r3 System.Data.SqlClient.Sql

C#应用程序的CLR20r3 System.Data.SqlClient.Sql,c#,C#,该应用程序在我的dev box上运行良好,但我将其带到最终用户的计算机上,因为它给出了此错误。我发布了它,并将其安装在目标计算机上 SqlConnection cs = new SqlConnection("SERVER=SERVERWITHDB;DATABASE=DATABASENAME;Trusted_Connection=True"); 这是设置sql连接的正确方法吗?如果需要在代码中生成连接字符串(而不是在exe.config文件中配置),可以使用: 您将看到问题中显示的连接字符串使

该应用程序在我的dev box上运行良好,但我将其带到最终用户的计算机上,因为它给出了此错误。我发布了它,并将其安装在目标计算机上

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

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

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

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

SqlConnection cs = new SqlConnection("Data Source=SERVERWITHDB;Initial Catalog=DATABASENAME;Integrated Security=True");
因此,关键词是:

  • 数据库服务器名称的数据源
  • 要使用的数据库的初始目录
  • integratedsecurity
    对于Windows身份验证设置为
    True
    ,对于SQL server身份验证设置为
    False
  • 用户名的用户ID
    (仅限SQL server身份验证)
  • 密码的密码(仅限SQL server身份验证)

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

否,请从exe.config文件中读取连接字符串,不要在代码中硬编码它。顺便说一句什么错误?我仍然收到以下错误:问题事件名称:CLR20r3问题签名01:POC1.exe问题签名02:1.0.0.0问题签名03:56f1509c问题签名04:System.Data问题签名05:4.0.30319.34209问题签名06:53489AD问题签名07:25bd问题签名08:27问题签名09:System.Data.SqlClient.SqlWell此错误消息没有告诉我太多。我不认为这是来自你的连接字符串。我建议在代码中添加更多的错误处理(例如,围绕db操作的
try/catch
块)并记录异常(包括堆栈跟踪!)。然后用必要的信息更新你的问题,或者问一个新问题,如果这是一个完全不同的错误。
SqlConnection cs = new SqlConnection("Data Source=SERVERWITHDB;Initial Catalog=DATABASENAME;Integrated Security=True");