簡體   English   中英

SqlConnection.open掛起

[英]SqlConnection.open is hanging

我正在使用Visual Studio Pro 2013開發針對.NET 4.0(即將成為4.5)的C#控制台應用程序,並連接到遠程SQL Server。 SQL Server連接字符串在構造函數中定義。

我使用了下面的代碼,這些代碼過去可以正常工作,但是在上周開始按照以下方式工作:

如果我重新編譯我的代碼, .Open()調用將掛起。 如果我停止應用程序並重新啟動它,則它可以工作! 每次!

如何調試掛起的東西? 如果停止並重新運行它,我可以運行20次而不會掛起。 但是,如果我重新編譯並運行,它將掛起。 然后停下來重新運行...就像一個魅力。 我很混亂 :)

public static DataTable GetDataTableSql(string SqlCommand)
{
        DataSet _data = new DataSet();

        try
        {
            using (SqlConnection _connection = new SqlConnection(s_connectionString))
            {
                if (_connection.State != ConnectionState.Open)
                {
                    _connection.Open();
                }  
        }
    }
}

任何指針將不勝感激!

-ed

更新:我能夠從.Open()調用中恢復錯誤消息:

GetDataTableSQL失敗:從tblSettings中選擇*,建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:命名管道提供程序,錯誤:40-無法打開與SQL Server的連接)

請注意,這總是在重新編譯后立即發生,並且如果我停止並重新啟動它就沒有錯誤嗎?!?!?!?

更新:連接字符串:

Data Source=X.X.X.X ;Initial Catalog=Catalog1;Persist Security Info=True;Connect Timeout=300;User ID=UserID;Password=Password1;

我通過關閉Microsoft SQL Server Management Studios解決了我的問題。 控制台應用程序就像一個魅力。

哎呀!

-ed

finally添加_Connection.Close() 整個過程應該嘗試:

catch

finally 
_Connection.Close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM