2017-08-29 12 views
0

接続が確立しているかどうかを確認するために、次の関数を使用しました。SQL接続タイムアウトが期待どおりに動作しない

ここでは、タイムアウト= 15秒です。

ほとんどの場合、動作します。

しかし、いつかは時間の前に例外をスローします。

私は同じ接続文字列を与えると時々タイムアウトごとに動作し、時間がたつにつれて時間切れになることがあります。

タイムアウトにはどのような問題がありますか?

Public Function IsDBExist(ByVal strConnectionString As String) As Boolean 

     Try 
      Using connection As New SqlConnection 
       Dim str As New SqlConnectionStringBuilder(strConnectionString) 
       str.ConnectTimeout = 15 
       connection.ConnectionString = str.ToString() 
       connection.Open() 
      End Using 
      Return True 
     Catch ex As Exception 
      Return False 
     End Try 

    End Function 

答えて

0

一般的には、クライアントが、SQLサーバーインスタンスに到達させたが、その後何かが間違っていた、指定された接続文字列を意味します。たとえば、指定されたデータベース名が存在しないか、ユーザーに表示される権限がありません。

+0

何も変更されていません。 :) –

+0

例外は何ですか? – Serg

+0

私は手動で接続文字列を変更しました。サーバー名が存在しない接続文字列を変更しました。したがって、エラーは "ネットワーク関連またはインスタンス固有のエラー..."のようになります。 –

関連する問題