Bonjour
j'ai beau essayer de trouver une solution, je n'y arrive pas.
Je passe par un environnement ODBC pour mes bases de données (au travail et chez clients).
Depuis WinVista/7/8, le nom des serveurs doit être envoyé dans les registres ODBC comme tel si le nom du serveur possède un '\' : "aaaa\\bbbb"
Le problème, c'est après avoir récupéré ce nom du serveur et que je le mets dans ma chaîne de connexion, ça plante :
sName = "aaaa\\bbbb", Database = "nom_de_la_base"
Je n'ai aucun problème de connexion quand un serveur a un nom sans \.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 string stringconnection = "Driver={SQL Server};Server=" + sName + ";Database=" + sBase + ";Trusted_Connection=True;Uid=leUID;Pwd=lepassword;Connection Timeout = 30"; conn.ConnectionString = stringconnection; try { //ouverture connexion sql conn.Open(); //recup du nom de la base active } catch { MessageBox.Show("Init_connexion() impossible", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
Donc je me suis dit que c'est parce que le 1er \ est considéré comme spécial (caractère de protection), donc j'ai cherché diverses solutions comme passer par
.replace("\\",@"\")
.replace(@"\\", @"\")
etc etc
Mais je ne trouve aucune solution pour avoir ce résultat : "aaaa\bbbb".
Donc je plante lamentablement quelque soit le cas.
Partager