小编Wam*_*ama的帖子

设置一个 C# 方法,在第一次失败后尝试重新连接到不同端口上的 SQL Server

我正在尝试设置一种方法,该方法将尝试首先在默认端口(1433)上连接到 SQL Server,然后在失败时在其他端口(例如 7777)上连接。

我想避免重建连接字符串并在失败时尝试再次连接,因为此方法将按照配置的时间间隔执行,并且我希望消除尽可能多的开销。

我尝试了以下方法(由ConnectionStrings提供)

public void EstablishConnection()
{
    string ConnectionString = "Data Source=127.0.0.1; Failover Partner=127.0.0.1,7777; Initial Catalog=foo;Connection Timeout = 3; Persist Security Info =True;User ID=<id>;Password=<password>";

    try
    {
        SqlConnection Connection = new SqlConnection(ConnectionString);
        Connection.Open();
    }
    catch (SqlException)
    {
        // Connection failed 
    }
}
Run Code Online (Sandbox Code Playgroud)

但根据这篇文章我的测试,它并没有按照我的预期方式工作。

我可以通过执行以下操作轻松解决此问题:

public void EstablishConnection()
{
    string ConnectionString = "Data Source=127.0.0.1;Initial Catalog=foo;Connection Timeout = 3; Persist Security Info =True;User ID=<id>;Password=<password>";

    try
    {
        SqlConnection Connection = new SqlConnection(ConnectionString);
        Connection.Open();
    }
    catch (SqlException)
    { …
Run Code Online (Sandbox Code Playgroud)

.net c# sql sql-server connection-string

1
推荐指数
1
解决办法
966
查看次数

标签 统计

.net ×1

c# ×1

connection-string ×1

sql ×1

sql-server ×1