首页 > 解决方案 > C#、SQL 服务器。提供者:TCP 提供者,错误:0 - 不知道这样的主机

问题描述

我的连接字符串如下所示:

Data Source=sql88;Initial Catalog=Osm;User ID=foouser;Password=foopsw

创建连接字符串的代码如下所示:

var con = new SqlConnectionStringBuilder();
if (string.IsNullOrEmpty(model.Username) && string.IsNullOrEmpty(model.Password))
    con.IntegratedSecurity = true;
else
{
    con.UserID = model.Username;
    con.Password = model.Password;
}
con.DataSource = model.Host ?? string.Empty;
con.InitialCatalog = model.Database ?? string.Empty;
return con;

我的应用程序在 SQL Server 上创建数据库结构,然后插入数据。所以有时应用程序工作大约 14 小时。在 SQL Server 上执行 SQL 的代码如下所示:

using (var cmd = con.CreateCommand())
{
    cmd.CommandTimeout = int.MaxValue;
    cmd.CommandText = sql;
    try
    {
        cmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        var test = ex.Message;
        throw;
    }       
}

有时应用程序运行良好,但有时应用程序会抛出错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。

提供者:TCP 提供者,错误:0 - 不知道这样的主机。)(Microsoft SQL Server,错误:11001)

我已经阅读了这个页面,但是,在我看来这不是我的情况,因为有时我的应用程序运行良好。

标签: c#sql-server

解决方案


推荐阅读