【问题标题】:C# Connection String for a remote SQL Server database远程 SQL Server 数据库的 C# 连接字符串
【发布时间】:2018-03-30 13:56:52
【问题描述】:

我的专用根服务器上有一个数据库。我想通过 C# 使用我计算机中的程序连接到这个外部数据库。

我正在尝试使用该连接字符串,但它不起作用:

Data Source=root_ip_adress;Initial Catalog=db_name;User Id=computername\\Administrator;Password=mypassword;

在数据库中启用了远程连接。

错误: “连接到 SQL Server 的网络相关或特定于实例的错误无法找到或访问服务器,请检查实例名称是否正确以及 SQL Server 是否允许远程连接。” (提供者:TCP 提供者,错误:0 - 等待进程已中止。)“

感谢您的帮助

【问题讨论】:

  • It doesn't work 不是对您的问题的描述。请更准确并报告收到的确切错误消息
  • 您不能在连接字符串中指定域帐户。在这种情况下,用户和密码是 SQL Server 帐户。要使用 Windows 身份验证连接,请改为指定 Integrated Security=SSPI。然后将使用当前用户的帐户进行连接。
  • @MendaxM。这应该进入问题而不是评论。

标签: c# sql sql-server database-connection connection-string


【解决方案1】:
  1. 尝试先使用 Management Studio (SSMS) 登录
  2. 尝试从用户名中删除 computername\
  3. 确保此用户具有对数据库的访问权限。见principalscreate a database user

【讨论】:

    【解决方案2】:

    您不能在连接字符串中指定 Windows 帐户(域或本地)。连接字符串中的用户和密码被解释为经过 SQL Server 身份验证的帐户。

    要使用 Windows 身份验证连接,请指定 Integrated Security=SSPI 而不是用户 ID 和密码。然后将使用当前用户的帐户进行连接。

    【讨论】:

      【解决方案3】:

      虽然 Dan Guzman 对 Windows 身份验证的回答是正确的,但您的问题不存在。

      根本无法访问服务器,因此它发生在之前任何可能的身份验证尝试。

      此错误最可能的原因是命名实例,即它侦听默认端口以外的其他端口。

      您查找原因的措施是:

      • 确保在服务器上启用 TCP\IP
      • ping 你的服务器
      • 检查错误日志以找出服务器正在侦听的端口
      • 用 telnet 检查这个端口
      • 如果端口不同于 1433 或在命名的情况下使用实例名称 + SQL Server 浏览器 实例

      【讨论】:

        猜你喜欢
        • 2015-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多