[英]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.