Monitoring : Test de connexion SQL via une page .NET

Bonjour à tous,

Cet article présente comment créer une page web en ASP pour réaliser un test de connexion sur un serveur SQL. Il vous faudra au préalable un serveur IIS capable de gérer l’ASP. Grâce à ce type de page il devient alors possible de réaliser une sonde applicative rapide.

Avec des outils de monitoring comme IBM TIVOLI Enterprise ou autres, il est alors possible de créer une sonde qui interrogera à intervalles réguliers la page web et vérifier le résultat de celle-ci afin de renvoyer une alerte en cas de résultat de type KO.

Afin que la page fonctionne sous votre environnement, il vous faudra personnaliser la chaine de connexion suivante :

[code lang= »vb »]
‘==============================================
‘Configuration de la chaine de connexion à SQL
‘==============================================
‘Configuration du Serveur SQL
strServeur = "SERVEURSQL"
‘Configuration de la base SQL à interoger
StrDatabase = "DBNAME"
‘Configuration l’utilisateur et mot de passe à utiliser pour interoger la base SQL
StrUser = "USERNAME"
StrPassword = "MOTDEPASSE";
‘Configuration du Time Out de la connexion
TimeOut = 5
[/code]

Script complet de la page testsql.aspx:
[code lang= »vbnet »]
<%@ import Namespace= "System.Data" %>
<%@ import Namespace= "System.Data.SqlClient" %>
<script language= "VB" runat= "server" >

Dim public con_open as string
Dim public con_close as string
Dim public con_error as string

Sub Page_Load ()
‘Déclaration des variables
Dim strServeur As String
Dim StrDatabase As String
Dim StrUser As string
Dim StrPassword As String
Dim TimeOut As Single
Dim DebugScreen AS Single
‘==============================================
‘Configuration de la chaine de connexion à SQL
‘==============================================
‘Configuration du Serveur SQL
strServeur = "SERVEURSQL"
‘Configuration de la base SQL à interoger
StrDatabase = "DBNAME"
‘Configuration l’utilisateur et mot de passe à utiliser pour interoger la base SQL
StrUser = "USERNAME"
StrPassword = "MOTDEPASSE";
‘Configuration du Time Out de la connexion
TimeOut = 5
‘ Configuration de l’affichage en mode debug
DebugScreen = 1

‘Generation de la chaine de connexion
Dim strConnection as String = "Server=" & strServeur & ";DataBase=" & StrDatabase & ";User Id=" & StrUser & ";Password=" & StrPassword & ";Connect Timeout="& TimeOut

If DebugScreen = 1 Then
Response.Write ("</BR>Mode debug de la page")
Response.Write ("</BR>———————")
Response.Write ("</BR>Chaine de connexion génerer : " & strConnection)
Response.Write ("</BR>Fin du debug")
Response.Write ("</BR>———————</BR></BR>")
End if

Dim objConnection as New SqlConnection ( strConnection )

try
objConnection.Open ()
con_open= "OK"
objConnection.Close ()
con_close= "KO"
catch e as Exception
con_open= "KO"
con_error= e.ToString ()
end try
end Sub

</script>
<html>
<body>
<%

if Con_open = "OK" THEN
Response.Write ("Test Acces SQL Serveur : " & Con_open)
Else
Response.Write ("Test Acces SQL Serveur : " & Con_open)

Select Case True

Case con_error.Contains("The server was not found or was not accessible")
Response.Write ("</BR>Message d’Erreur : The server was not found or was not accessible")
Case con_error.Contains("Cannot open database")
Response.Write ("</BR>Message d’Erreur : Cannot open database")
Case con_error.Contains("Login failed")
Response.Write ("</BR>Message d’Erreur : Login failed")
Case Else
Response.Write ("</BR>Message d’Erreur Spécifique : </BR>" & con_error)

End Select

End if

%>

</body>
</html >

[/code]

Résultat de la page de connexion :

Page de test de connexion

Laisser un commentaire