2015-11-04 3 views
1

Я разрабатываю приложение консоли C#, предназначенное для .NET 4.0 (скоро будет 4.5) с использованием Visual Studio Pro 2013, подключающегося к удаленному SQL Server. Строка подключения SQL Server определена в конструкторе.SqlConnection.open висит

Я использую следующий код, который используется для работы безупречно, но на прошлой неделе, когда начал действовать следующим образом:

Если я перекомпилировать код, в .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(); 
       } 
     } 
    } 
} 

Любые указатели были бы очень признательны!

Ред

UPDATE: Я был в состоянии восстановить сообщение об ошибке из .Open() вызова:

GetDataTableSQL failed: Select * from tblSettings, A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Заметим, что это ВСЕГДА ПРОИСХОДИТ СРАЗУ ПОСЛЕ RECOMPILE И НЕ ИМЕЕТ ОШИБКУ, ЕСЛИ Я ОСТАНОВИТЬ И RESTART ЭТО ?!?!?!?

UPDATE: Строка соединения:

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

Sans host, dbname, имя пользователя и пароль .. можете ли вы показать нам строку подключения? –

+0

Выполняют ли другие клиентские приложения, подключающиеся к одному источнику данных, ту же задержку? Возможно ли, что ваша проблема связана с сервером или, возможно, проблема с разрешением DNS имени хоста? –

+4

Замечание: при новом подключении вам не нужно проверять состояние, просто откройте его. – LarsTech

ответ

0

я решил мою проблему, закрыв Microsoft Studios управления SQL Server. Консольное приложение работало как шарм.

Argh!

-Ed

+0

OK, теперь это может сработать, но вы еще не нашли истинной причины. Проблема может снова вас повредить. Он выглядит исправленным, но из опыта я могу сказать, что это не должно было его исправлять. – usr

+0

:(Я ненавижу неповторяющиеся проблемы ... –

Смежные вопросы