【问题标题】:Connecting from .Net in SQL Server 2005 (Winforms)在 SQL Server 2005 (Winforms) 中从 .Net 连接
【发布时间】:2010-10-25 17:10:57
【问题描述】:

我正在从 .Net Winforms 应用程序中构建一个典型的 Windows 集成连接:

Dim sqlConnetion As New SqlConnection("Server=jupiter;Database=io;Integrated Security=True;") sqlConnetion.Open()

我不断收到以下错误:

无法打开登录请求的数据库“io”。登录失败。用户“MARS\viking”登录失败。

我还尝试了以下连接字符串变体,结果相同:

数据源=jupiter;初始目录=io;集成安全=True;

数据源=MSSGDEV;初始目录=MSSQLSERVER;集成安全=SSPI;

奇怪的是,我可以使用 SQL Management Studio 与同一用户从同一台计算机使用集成安全性连接到数据库。我的连接代码中有错误吗?或者我必须在 SQL 服务器上设置一些特殊的配置设置以允许来自代码的连接?

【问题讨论】:

    标签: sql-server-2005 ado.net connection


    【解决方案1】:

    尝试“数据源=jupiter;初始目录=io;集成安全=True;”反而。如果您使用集成安全,则必须使用数据源/初始目录。如果使用 Trusted_Connection,则可以使用服务器/数据库。 ConnectionStrings.com 太棒了。

    【讨论】:

    • 你能用登录名打开那个数据库吗?它似乎在数据库上失败,而不是服务器本身。
    • 没错。这就是让它变得奇怪的原因——我可以使用 SQL Management Studio 连接到该数据库,使用相同的用户等,没问题。
    【解决方案2】:

    编辑了我的答案(因为问题已更新):

    您需要更改“Integrated Security=True;”到“Integrated Security=SSPI”或“Trusted_Connection=True”

    (注意“Trusted_Connection”中的下划线)

    【讨论】:

    • 抱歉,打错了。应该说:无法打开请求的数据库“io”...
    【解决方案3】:

    一位同事终于找到了答案。我将 sql server 实例(我的服务器上有两个 sql server 实例)放在数据库名称所属的插槽中。 . .感谢大家花时间帮助解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多