Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNEXION À UNE BASE DE DONNÉES ACCESS SÉCURISÉE


Information sur le tutorial

Catégorie :Base de Donnees Date de création : 16/08/2005 15:21:38 Vu : 15 439 fois

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Alors voilà, un bout de code que l'on peut mettre dans un module et qui contient deux fonctions de connexion à une base de données Access sécurisée par un groupe de travail.
La première fonction utilise une connexion par DNS alors que la seconde est une connexion directe par ligne de commande.

Tutorial

' ************************************************************************************************************** '
'                                                                                                                '
'   Module contenant deux fonctions de connections ADO à une base donnée Access sécurisé  par groupe de travail  '
'   (mdw)                                                                                                        '
'   La première méthode utilise un DNS pré-définis sur le poste de travail et dans lequel ont aura pris soin de  '
'   définir le fichier mdw du groupe de travail sur lequel ont travail pour ouvrire la base de donnée            '
'                                                                                                                '
'   La seconde est une connection directe sans DNS                                                               '
'                                                                                                                '
'                                                                                                                '
' ************************************************************************************************************** '
Public Function ConnDNS(NomDuDNS As String, UserName As String, Password As String) As Boolean
On Error GoTo Err_ConnStrait
Dim Cnx As New ADODB.Connection
Dim strConn As String

    ConnDNS = False
                            ' Nom que vous avez donné à votre DNS lorsque vous l'avez créé
    NomDuDNS = "XXXXXX"     ' dans l Administrateur de Sources de données (ODBC)
                            ' du Panneau de configuration de Microsoft Windows
                           
    ' initialise la chaine de connexion
    strConn = "DNS=" & NomDuDNS & ";"
   
    ' vérifie que la connexion est bien fermée
    If Cnx.State = adStateOpen Then
    Cnx.Close
    End If
   
    ' Connexion à la base de donnée
    Cnx.Open ConnectionString:=strConn, UserID:=UserName, Password:=Password
   
    ' Attente jusqu'à la connexion effective
    While (Cnx.State = adStateConnecting)
    DoEvents
    Wend
   
    '

Vérification des erreurs éventuelles engendrés par la connexion ou attribution de la valeur "True" à la connexion

    If Cnx.Errors.Count > 0 Then
        MsgBox Cnx.Errors.Item(0)
        ConnDNS = False
        Exit Function
    Else:
        ConnDNS = True
    End If
    Exit Function


Err_ConnStrait:
    MsgBox err.Description
        ConnDNS = False
        Exit Function
End Function

Public Function ConnStrait(UserName As String, Password As String) As Boolean
On Error GoTo Err_ConnStrait
Dim Cnx As New ADODB.Connection
Dim strConn As String

    ConnStrait = False
   
    ' Initialise la chaine de connexion
    strConn = "Data Source=C:\...\NomDuFichier.MDB;" & _
              "Jet OLEDB:System database=C:\...\NomDuFichier.MDW"
    Cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
   
    ' vérifie que la connexion est bien fermée
    If Cnx.State = adStateOpen Then
    Cnx.Close
    End If
   
    ' Connexion à la base de donnée
    Cnx.Open ConnectionString:=strConn, UserID:=UserName, Password:=Password
   
    ' Attente jusqu'à la connexion effective
    While (Cnx.State = adStateConnecting)
    DoEvents
    Wend
   
    ' Vérification des erreurs eventuelles ou attribution de la valeur "True" à la connexion
    If Cnx.Errors.Count > 0 Then
        MsgBox Cnx.Errors.Item(0)
        ConnStrait = False
        Exit Function
    Else:
        ConnStrait = True
    End If
    Exit Function

Err_ConnStrait:
    MsgBox err.Description
        ConnStrait = False
        Exit Function
End Function

signaler à un administrateur
Commentaire de Renfield le 16/08/2005 16:24:45 administrateur CS

Je ne vois pas ici un reel tutoriel... pas d'explication sur les fichier MDW


les lignes
    ' vérifie que la connexion est bien fermée
    If Cnx.State = adStateOpen Then
    Cnx.Close
    End If
ne servent a rien...
Comment une connexion que tu instancie juste au dessus (Dim Cnx As New ADODB.Connection) pourrait elle ouverte par défaut ?

signaler à un administrateur
Commentaire de maxiter le 24/03/2006 20:05:09

desolé mais il n'y a aucunes explications et pour certains c'est illisible

signaler à un administrateur
Commentaire de VB le 18/05/2006 22:46:16

tu nous dit :
"DNS"

DNS = DSN ?

Merci.
Cordialement.
Bonne prog.

signaler à un administrateur
Commentaire de Tuning Max le 19/05/2006 09:28:40

Oui DNS pour "Data Source Name".
ODBC permet de relier un client à une base de données en déclarant une source de données (correspondant généralement à une base de données) dans le gestionnaire ODBC (communément appelé administrateur de source de données ODBC).

DNS = "le nom que tu lui a donné dans ton  gestionnaire ODBC "

signaler à un administrateur
Commentaire de Renfield le 19/05/2006 09:51:30 administrateur CS

tu le dit toi même : DNS pour "Data Source Name".
ce sera donc DSN ^^

DNS s'est pour les nom de machines (Domain Name System)

signaler à un administrateur
Commentaire de Tuning Max le 19/05/2006 11:37:48

Humm! Houai, et bien dis moi tu dois vraiment t'ennuyer pour n'avoir que ça à faire de jouer sur une abréviation qui contrairement à ce que tu semble croire peut aussi être "Data Name Source" même s'il est vrai que conventionnellement le DNS et plutôt employé pour le nom de domaine.
Enfin si ça peut te faire plaisir....

signaler à un administrateur
Commentaire de Renfield le 19/05/2006 11:55:04 administrateur CS

"Data Name Source" :o     (ca donnerais, en francais, a peut pret 'Source du nom des données' au lieu de 'Nom de la source des données' )

et non, je n'ai pas que ça a faire... mais 'VB' a soulevé ce point, et tu lui a répondu a coté sur ce point (ta définition de l'ODBC est ok)

15 secondes de recherche sur Google, et voilà.... pas besoin de s'eterniser sur ce débat plus que stérile.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,031 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.