无法在桌面应用程序中使用SqlClient连接到SQL Server

时间:2017-02-16 20:43:23

标签: c# sql-server

使用SQL用户名和密码连接到SQL Server完全没问题。 这些方案运行得很好:

  • 使用ASP.NET / MVC中的SqlClient从C#代码
  • with ssms
  • 使用Visual Studio连接属性向导

例如,这适用于MVC项目:

new SqlConnection("Server=DB1;Database=testdb;User Id=testuser;Password=testuser1;").Open();

这个相同的代码在桌面应用程序项目中运行时失败。它会导致以下内部异常错误:

  

用户名或密码不正确

(是的,用户和姓名之间有空格)

我试过了:

  • 确保SQL Config Manager中的协议正确。
  • 在客户端和服务器上打开防火墙中的端口。
  • 连接到另一个数据库以查看它是否是数据库而不是客户端。
  • Nuql的SqlClient版本。
  • 重新启动开发机器和服务器。
  • 确保浏览器SQL服务正在运行。
  • 确保主SQL服务设置为自动且正在运行。
  • SqlClient,OLEDB和ODBC以及适当的连接字符串。
  • 将用户名和密码存储在单独的凭据对象中。
  • 在连接字符串中指定Integrated Security = False

但仍然没有。

为什么我可以从桌面.NET应用程序中运行的代码之外的所有内容连接到SQL Server?在连接发生之前,有什么东西会剥离我的密码吗?

1 个答案:

答案 0 :(得分:0)

让我们试试:

data source=DB1;initial catalog=testdb;persist security info=True;user id=testuser;password=testuser1;

用户必须是SQL用户。