【问题标题】:Connecting to SQL Server 2014 via console application does not work通过控制台应用程序连接到 SQL Server 2014 不起作用
【发布时间】:2019-03-08 07:15:57
【问题描述】:

我正在尝试从我的数据库中读取值。我很确定我使用的方法是正确的。我的 SQL Server 2014 也允许远程访问。

但是,当我运行我的应用程序时,我得到了一个错误。

System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:25 - 连接字符串无效)

我的代码:

private void DatabaseUpgradeCheckForMSSQL()
{ 
    SqlConnection sqlCon = new SqlConnection("Data Source=VBKSQL2014MSSQL\\MSSQLSERVER; Initial Catalog=dwworkflowengine; User ID=sa; Password=<Password>;");
    SqlDataAdapter sqlda = new SqlDataAdapter("Select * from Changesets", sqlCon);

    DataTable dtbl = new DataTable();
    sqlda.Fill(dtbl);

    foreach (DataRow row in dtbl.Rows)
    {
        Console.WriteLine(row["Number"]);
    }

    Console.ReadKey();
}

【问题讨论】:

  • 我需要它们,因为它是一个字符串,我不在字符串的开头使用@
  • 您能否使用 SSMS 和连接字符串中使用的凭据从远程计算机连接到该实例?
  • 计算机管理>服务和应用程序\SQL Server 网络配置\“YourSQLServer”的协议。那里是否启用了 TCP\IP 协议?
  • 我会尝试并告诉你!
  • @koviroli 已启用

标签: c# sql-server connection


【解决方案1】:

如果您要连接到 SQL Server 的默认、未命名实例,该实例的内部“ID”为 MSSQLSERVER,则您不得使用该实例内部 ID 作为实例名称。

所以不要这样:

SqlConnection sqlCon = new SqlConnection("Data Source=VBKSQL2014MSSQL\\MSSQLSERVER; Initial Catalog=dwworkflowengine; User ID=sa; Password=<Password>;");

试试这个:

SqlConnection sqlCon = new SqlConnection("Data Source=VBKSQL2014MSSQL;Initial Catalog=dwworkflowengine;User ID=sa;Password=<Password>;");

并且 - 作为最佳实践 - 不要使用sa 帐户来完成您的工作!使用集成安全或单独的帐户 - sa 应该绝不在您的实际工作中使用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    相关资源
    最近更新 更多