2012-02-02 4 views
-2

Мне нужно подключиться к базе данных sql-сервера из моего кода C#. иногда из-за некоторой ошибки (я не знаю, что это такое) Я не могу открыть соединение , то есть conn.open() выбрасывает исключение , поэтому мне нужно проверить, могу ли я подключиться к базе данных, прежде чем открывать соединение.Проверьте, возможно ли подключение к базе данных?

Спасибо, что помогли мне.

+1

Я думаю, что лучшая идея заключается в том, чтобы выяснить, почему вы получаете ошибку на conn.open. Любой другой способ решить эту проблему - это просто вставлять голову в песок. –

+0

ОК. это прекрасно .. Но проблема в том, что мой сервер поймает, если будут выброшены какие-либо ошибки. Также руководитель команды говорит, что мы знаем, что здесь может произойти исключение. Тогда почему вы не можете проверить, может ли соединение установить или нет? –

+2

@ ZMRBINU Вы «проверяете», может ли соединение установить или нет, * попытаться сделать соединение *. –

ответ

1

Самый лучший способ проверить, можете ли вы установить соединение: попытаться установить соединение. Поймайте все исключения, которые были выбраны, и используйте их для отображения ошибки или попытайтесь определить причину. (большинство ошибок соединения не будут чем-то, что ваша программа может исправить на лету).

try{ 
    conn.open(); 
    ...//other stuff 
}catch(Exception ex){ 
    //handle exception 
} 
+0

, но я не хочу бросать никаких исключений. Есть ли какой-то иной способ, кроме этого? –

+2

Вы не выбрасываете исключение, вы получаете исключение. – Cantillon

+0

@ ZMRBINU Любой способ попытаться «протестировать» соединение, которое завершится неудачей, вероятно, приведет к исключению. Если вы создали сырую «Socket» и попытались соединиться с чем-то недоступным, например, то же самое произойдет. Ошибка, с которой вы вернулись, будет сложнее для вас. –

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