Bonjour à tous,

je suis nouveau sur le forum, ça fait 15 jours que je me suis mis au VB.NET pour développer une GPAO sur mesure pour la boite où je travaille. Je développe en VB2005 Express et base Sql Server 2005.

Le serveur Sql est hébergé sur mon poste de développement, mon appli tourne bien en local mais lorsque je la déploie sur le réseau, je reçois l'erreur suivante au premier appel de connexion au serveur Sql :

Message Win98 : COMException (0x80004005): [Microsoft][ODBC SQL Server Driver] Le client n'a pas pu établir la connexion

Message XP Pro : COMException (0x80004005): [Microsoft][ODBC SQL Server Driver] [DBNETLIB] Ce serveur SQL n'existe pas ou son accès est refusé

Je suis allé fouiner du côté des chaines de connexion, mais je suis perdu au niveau des technologies employées : ODBC, ADODB, OleDB, ...

J'ai choisi de passer par ADODB parce que je viens de l'ASP et du VBA et que c'est la méthode que j'utilisais jusqu'alors. D'autre part je trouve pratique le système des Recordset... Dernière chose : j'aimerais vraiment conserver cette logique d'objet Connection, Recordset, ... vu que l'appli est déjà bien avancée et que je me vois mal tout reprendre.

Donc, pour que vous puissiez m'aider je vous mets un extrait du code qui me sert à me connecter à mon serveur SQL :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Dim Conn As ADODB.Connection
 
Private Sub ConnectBD()
 
        'Paramètres de connexion via ADODB
        Dim NomUtilisateur, MotDePasse, NomServeur, NomBaseDeDonnees As String
        NomUtilisateur = "sa"
        MotDePasse = "1123581321"
        NomServeur = "10.1.0.23\SQLEXPRESS"
        NomBaseDeDonnees = "GPAO"
 
        'Instanciation de l'objet Connection
        Conn = New ADODB.Connection()
 
        'Définition de la chaîne de connexion
        Conn.ConnectionString = "UID=" & NomUtilisateur & ";PWD=" & MotDePasse & ";" & "DRIVER={SQL Server};Server=" & NomServeur & ";Database=" & NomBaseDeDonnees & ";"
 
        'Etablissement de la connexion
        Conn.Open()
 
End Sub
Ce code s'exécute sans problème en local sur le poste qui héberge SQL Server, en revanche dès que j'ai exécute mon appli déployée sur un autre poste du réseau, j'ai les erreurs citées précédemment.

J'ajoute pour finir que Sql Server est bien configuré pour accepté les connexions TCP/IP ou cannaux nommés, et que SQL Browser est actif aussi.

J'espère que vous saurez m'aider. N'hésitez pas s'il le faut à me demander plus de précisions sur mon environnement de travail.

Bob