【问题标题】:Why I cant connect to the database by connection string?为什么我无法通过连接字符串连接到数据库?
【发布时间】:2015-02-05 01:26:11
【问题描述】:

我在本地网络上有一个数据库。

我可以在 SSMS 中连接到数据库:

但是当我想在c#中通过这个连接字符串连接到数据库时:

"Data Source=192.168.0.3,14330;Network Library=DBMSSOCN;Initial Catalog=master;Integrated Security=True;User ID=sa;Password=123456789;"

我收到以下错误:

登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。

【问题讨论】:

  • 如果您在连接字符串中提供 USERNAME 和 PASSWORD,请将 Integrated Security 设置为 False。
  • @PareshJ 我尝试使用“Integrated Security=False”但收到此错误:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:TCP 提供者,错误:0 - 不知道这样的主机。)
  • javadaskari:尝试从 sql server 配置管理器启用 TCP/IP。转到 SQL SERVER 配置管理器 > SQLSERVER 网络配置 > 协议 > 启用 TCP/IP
  • @PareshJ 我以前做过
  • 您是否在防火墙中创建了 SQL SERVER 规则并尝试使用 UDL 文件创建连接字符串。检查此 URL 以了解如何使用 UDL:msdn.microsoft.com/en-in/library/e38h511e(v=vs.71).aspx

标签: c# sql-server connection-string


【解决方案1】:

您告诉 sql server 使用集成安全性,即 windows 安全性,但是您尝试使用用户名和密码

关闭集成安全性,参见下面的示例

"Data Source=192.168.0.3,14330;Network Library=DBMSSOCN;Initial Catalog=master;Integrated Security=False;User ID=sa;Password=123456789;"

相关信息

如果指定了用户 ID 和密码并且集成安全设置为 true,则用户 ID 和密码将被忽略并使用集成安全。

您可以在此处找到有关连接字符串的更多信息,SqlConnection.ConnectionString Property

更新

也许这个问题可以帮助你更多How to get the connection String from a database

更新 2

对于更深入的故障排除,这里有一个很好的资源How to Troubleshoot Connecting to the SQL Server Database Engine

【讨论】:

  • 我尝试使用“Integrated Security=False”但收到此错误:建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:TCP 提供者,错误:0 - 不知道这样的主机。)
  • 更新了答案,可能会对你有所帮助
  • @javadaskari "The server was not found or was not accessible": 仔细检查您是否获得了正确的服务器详细信息,然后在接收端确保没有任何防火墙阻止连接。
  • @jay_t55 我的服务器详细信息正确,防火墙已关闭。
  • @javadaskari 你在 NAT 后面吗?您在此处列出的 IP 是实际 IP 吗?您是否尝试过在您的 NAT 网关上设置端口转发?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 2023-03-31
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-24
相关资源
最近更新 更多