Bonjour,
Je souhaite mon application Access 2000, au lancement, se connecte sur
la base dont les références (nom serveur, base de données, User Id...)
sont dans un fichier .ini.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rv
Salut,
Voici une chaîne de connexion OLEDB vers SQL Server. Ceci sans utiliser la sécurité intégrée de windows NT, mais avec un nom d'utilisateur et mot de passe spécifiques:
Supposons que le fichier .ini contienne les informations suivantes:
[Mot de passe] password = passUtil [Utilisateur] User ID = nomUtil [Nom base] Initial Catalog = CDG-GRH [Nom serveur] Data Source = srv-olap
Pour construire dynamiquement la chaine de connexion à partir d'un fichier .ini on peut utliser les fonctions suivantes:
---------------------------------------------------------------------------- --------------------- ' Recherche une clé dans un fichier d'ini et retourne la ligne suivante ' retourne chaine vide si pb Function chercheCleIni(strFichier As String, strCle As String) As String Dim strLigne As String
On Error GoTo gereErr chercheCleIni = ""
Open strFichier For Input As #1
Do While Not EOF(1) Line Input #1, strLigne If strLigne = strCle And Not EOF(1) Then Line Input #1, chercheCleIni Exit Do End If Loop Close #1 Exit Function
gereErr: On Error Resume Next Close #1 MsgBox ("Erreur lors de la lecture du fichier INI : " & Err.Description) End Function
' Retourne la chaine de connexion ou chaine vide si pb Function construitChaineCon(strFichier As String) As String Dim strChaine As String Dim strResult As String
' Lecture password strChaine = chercheCleIni(strFichier, "[Mot de passe]") If strChaine = "" Then MsgBox ("Pb lors de la lecture du mot de passe dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";Persist Security Info=True;"
' Lecture user id strChaine = chercheCleIni(strFichier, "[Utilisateur]") If strChaine = "" Then MsgBox ("Pb lors de la lecture de l'utilisateur dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";"
' Lecture nom base strChaine = chercheCleIni(strFichier, "[Nom base]") If strChaine = "" Then MsgBox ("Erreur lors de la lecture du nom de la base dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";"
' Lecture nom serveur strChaine = chercheCleIni(strFichier, "[Nom serveur]") If strChaine = "" Then MsgBox ("Erreur lors de la lecture du nom du serveur dans le fichier INI : " & Err.Description) Exit Function End If
End Function ---------------------------------------------------------------------------- ------------------------------------------------ Ensuite on peut trés bien créer une connexion par
Dim objConn as new adodb.connection dim strConn as string
strConn = construitChaineCon("c:...fichierIni") if strConn<>"" then objconn.open strconn else ' pb recup chaine conn end if
A+
Rv
"San LUC" a écrit dans le message de news:
Bonjour, Je souhaite mon application Access 2000, au lancement, se connecte sur la base dont les références (nom serveur, base de données, User Id...) sont dans un fichier .ini.
Est-ce quelqu'un peut m'aider SVP ?
J'utilise ADO et SQLServer 2000.
Merci
Salut,
Voici une chaîne de connexion OLEDB vers SQL Server. Ceci sans utiliser
la sécurité intégrée de windows NT, mais avec un nom d'utilisateur et mot de
passe spécifiques:
Supposons que le fichier .ini contienne les informations suivantes:
[Mot de passe]
password = passUtil
[Utilisateur]
User ID = nomUtil
[Nom base]
Initial Catalog = CDG-GRH
[Nom serveur]
Data Source = srv-olap
Pour construire dynamiquement la chaine de connexion à partir d'un
fichier .ini on peut utliser les fonctions suivantes:
----------------------------------------------------------------------------
---------------------
' Recherche une clé dans un fichier d'ini et retourne la ligne suivante
' retourne chaine vide si pb
Function chercheCleIni(strFichier As String, strCle As String) As String
Dim strLigne As String
On Error GoTo gereErr
chercheCleIni = ""
Open strFichier For Input As #1
Do While Not EOF(1)
Line Input #1, strLigne
If strLigne = strCle And Not EOF(1) Then
Line Input #1, chercheCleIni
Exit Do
End If
Loop
Close #1
Exit Function
gereErr:
On Error Resume Next
Close #1
MsgBox ("Erreur lors de la lecture du fichier INI : " & Err.Description)
End Function
' Retourne la chaine de connexion ou chaine vide si pb
Function construitChaineCon(strFichier As String) As String
Dim strChaine As String
Dim strResult As String
' Lecture password
strChaine = chercheCleIni(strFichier, "[Mot de passe]")
If strChaine = "" Then
MsgBox ("Pb lors de la lecture du mot de passe dans le fichier INI :
" & Err.Description)
Exit Function
End If
strResult = strResult & strChaine & ";Persist Security Info=True;"
' Lecture user id
strChaine = chercheCleIni(strFichier, "[Utilisateur]")
If strChaine = "" Then
MsgBox ("Pb lors de la lecture de l'utilisateur dans le fichier INI
: " & Err.Description)
Exit Function
End If
strResult = strResult & strChaine & ";"
' Lecture nom base
strChaine = chercheCleIni(strFichier, "[Nom base]")
If strChaine = "" Then
MsgBox ("Erreur lors de la lecture du nom de la base dans le fichier
INI : " & Err.Description)
Exit Function
End If
strResult = strResult & strChaine & ";"
' Lecture nom serveur
strChaine = chercheCleIni(strFichier, "[Nom serveur]")
If strChaine = "" Then
MsgBox ("Erreur lors de la lecture du nom du serveur dans le fichier
INI : " & Err.Description)
Exit Function
End If
End Function
----------------------------------------------------------------------------
------------------------------------------------
Ensuite on peut trés bien créer une connexion par
Dim objConn as new adodb.connection
dim strConn as string
strConn = construitChaineCon("c:...fichierIni")
if strConn<>"" then
objconn.open strconn
else
' pb recup chaine conn
end if
A+
Rv
"San LUC" <luc_san@voila.fr> a écrit dans le message de
news:893ee19a.0407070823.161706c9@posting.google.com...
Bonjour,
Je souhaite mon application Access 2000, au lancement, se connecte sur
la base dont les références (nom serveur, base de données, User Id...)
sont dans un fichier .ini.
Voici une chaîne de connexion OLEDB vers SQL Server. Ceci sans utiliser la sécurité intégrée de windows NT, mais avec un nom d'utilisateur et mot de passe spécifiques:
Supposons que le fichier .ini contienne les informations suivantes:
[Mot de passe] password = passUtil [Utilisateur] User ID = nomUtil [Nom base] Initial Catalog = CDG-GRH [Nom serveur] Data Source = srv-olap
Pour construire dynamiquement la chaine de connexion à partir d'un fichier .ini on peut utliser les fonctions suivantes:
---------------------------------------------------------------------------- --------------------- ' Recherche une clé dans un fichier d'ini et retourne la ligne suivante ' retourne chaine vide si pb Function chercheCleIni(strFichier As String, strCle As String) As String Dim strLigne As String
On Error GoTo gereErr chercheCleIni = ""
Open strFichier For Input As #1
Do While Not EOF(1) Line Input #1, strLigne If strLigne = strCle And Not EOF(1) Then Line Input #1, chercheCleIni Exit Do End If Loop Close #1 Exit Function
gereErr: On Error Resume Next Close #1 MsgBox ("Erreur lors de la lecture du fichier INI : " & Err.Description) End Function
' Retourne la chaine de connexion ou chaine vide si pb Function construitChaineCon(strFichier As String) As String Dim strChaine As String Dim strResult As String
' Lecture password strChaine = chercheCleIni(strFichier, "[Mot de passe]") If strChaine = "" Then MsgBox ("Pb lors de la lecture du mot de passe dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";Persist Security Info=True;"
' Lecture user id strChaine = chercheCleIni(strFichier, "[Utilisateur]") If strChaine = "" Then MsgBox ("Pb lors de la lecture de l'utilisateur dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";"
' Lecture nom base strChaine = chercheCleIni(strFichier, "[Nom base]") If strChaine = "" Then MsgBox ("Erreur lors de la lecture du nom de la base dans le fichier INI : " & Err.Description) Exit Function End If strResult = strResult & strChaine & ";"
' Lecture nom serveur strChaine = chercheCleIni(strFichier, "[Nom serveur]") If strChaine = "" Then MsgBox ("Erreur lors de la lecture du nom du serveur dans le fichier INI : " & Err.Description) Exit Function End If
End Function ---------------------------------------------------------------------------- ------------------------------------------------ Ensuite on peut trés bien créer une connexion par
Dim objConn as new adodb.connection dim strConn as string
strConn = construitChaineCon("c:...fichierIni") if strConn<>"" then objconn.open strconn else ' pb recup chaine conn end if
A+
Rv
"San LUC" a écrit dans le message de news:
Bonjour, Je souhaite mon application Access 2000, au lancement, se connecte sur la base dont les références (nom serveur, base de données, User Id...) sont dans un fichier .ini.