Tempo limite não funcionando na conexão SQL
-
26-09-2019 - |
Pergunta
Eu tenho esse código simples para testar que um banco de dados está pronto:
Function testlocalcon() As Boolean
Dim constr As String = _clconstr
Try
Using t As New SqlConnection()
constr = constr & " ; Connect Timeout=1"
If Not t.State = Data.ConnectionState.Open Then
t.ConnectionString = constr
t.Open()
If t.State = Data.ConnectionState.Open Then
Return True
Else
Return False
End If
Else
Return True
End If
End Using
Catch ex As Exception
Return False
End Try
End Function
Não quero executar uma consulta, apenas para verificar a conexão, mas não importa o parâmetro do tempo out. Eu pesquisei aqui (Stackoverflow) e Internet e não encontrei nada em como corrigir isso.
Alguém mais tem esse problema? Ou existem outras idéias sobre como informar o aplicativo que o banco de dados está pronto?
Solução
APPOLIZEM APELIZAÇÃO DO CÓDIGO, mas isso é C# e eu o usei no passado. É bem simples e deve ser legível.
private SQLServerConnection
private SqlConnection _SQLServerConnection;
public SqlConnection SQLServerConnection
{
get
{
return _SQLServerConnection;
}
set
{
_SQLServerConnection = value;
}
}
private void SetSQLServerConnectionString (string sqlServerName, string databaseName, string saPassword, int connectTimeout)
{
SQLServerConnection = new SqlConnection("Password=" + saPassword + ";Persist Security Info=True;User ID=sa;Initial Catalog=" + databaseName + ";Data Source=" + sqlServerName + ";connection timeout=" + connectTimeout.ToString(CultureInfo.InvariantCulture));
}
internal bool TestSQLServerConnection(string sqlServerName, string databaseName, string saPassword, int connectTimeout)
{
try
{
SetSQLServerConnectionString(sqlServerName, databaseName, saPassword, connectTimeout);
SQLServerConnection.Open();
return true;
}
catch (SqlException e)
{
return false;
}
finally
{
SQLServerConnection.Close();
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow