IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Chaine de connexion pour ADOX


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 145
    Points
    145
    Par défaut Chaine de connexion pour ADOX
    Bonjour,

    Je travaille sur un projet VB.net qui accède à des données fournies par une base de données Access 2003 associée à un fichier système spécifique gérant les droits d'accès par utilisateur (une vertu malheureusement disparue avec le format Access 2007 et suivants ..).

    J'accède aux données via OleDB, pas de problème.
    Toutefois, je dois vérifier et/ou créer une requête dans la base et, ne voulant pas ajouter une référence à DAO je souhaite le faire par les ressources ADOX.

    Mon problème est que je ne parviens pas à affecter une chaine de connexion correcte à mon catalogue ADOX, j'ai tout d'abord essayé en utilisant une connexion ouverte OleDB mais ça ne fonctionne pas et ce n'est pas vraiment étonnant. J'ai ensuite essayé d'affecter la même chaine de connexion à mon instance de catalogue mais j'obtiens le message d'erreur suivant:
    Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.
    Voici la chaine de connexion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Provider=Microsoft.Jet.OLEDB.4.0
                                    ;Data Source=\\MonPC\APPLICATIONS\DataDemo.mdb
                                    ;User ID=MonAdm
                                    ;PassWord=AdmPW#
                                    ;Jet OLEDB:System database=\\MonPC\APPLICATIONS\Dev_2003.mdw

    Comme le mot de passe comporte un caractère spécial (#) j'ai aussi fait un essai en encadrant le mot de passe entre simples cotes mais c'est pareil.

    J'ai fouillé Google cet après-midi à la recherche d'exemples et j'ai consulté plusieurs fils et didacticiels sur Développez.net sans trouver la solution.

    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 037
    Points : 24 614
    Points
    24 614
    Par défaut
    Bonjour,

    As-tu tenté de doubler les caractères spéciaux ?

    Cordialement,

  3. #3
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    J'utilise la syntaxe suivante qui fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\planet\mabase.accdb;Jet OLEDB:Database Password=MonMotDePasse;" 
    rs.open "SELECT...", cn, adOpenStatic
    Par contre ça fait longtemps que je n'ai plus de fichier mdw

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 145
    Points
    145
    Par défaut Merci pour vos réponses
    A Loufab tout d'abord, même si le doublement des caractères spéciaux n'a rien changé.
    Et à Nico84 qui m'a mis sur la bonne piste:
    J'ai ouvert une connexion ADODB en incluant la désignation du fichier de sécurité .mdw dans la chaine de connexion mais sans les identifiants de connexion (userId et UserPwd), Ceux-ci sont déclarés dans la fonction d'ouverture de la connexion puis la connexion établie est affectée au catalogue ADOX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Dim Txt As String = "Provider=Microsoft.ACE.OLEDB.12.0
    ;Data Source=" & My.Settings.DataBase & "
    ;Jet OLEDB:System database=" & My.Settings.FichierMDW
     
    Dim cn As New ADODB.Connection  ' ouvre une connexion de type ADODB
    cn.Open(ConnectionString:=Txt, UserID:=gUserId, Password:=gUserpwd)
    Dim Cat As New ADOX.Catalog
    Cat.ActiveConnection = cn

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-MAC 2016] Macro pour changer Chaine de connexion
    Par topanonga dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/11/2017, 12h48
  2. Réponses: 10
    Dernier message: 16/03/2009, 12h56
  3. Chaine de connexion pour SQL Server
    Par mael94420 dans le forum ASP
    Réponses: 6
    Dernier message: 29/06/2006, 23h32
  4. Chaine de connexion ADO pour MySQL
    Par [DreaMs] dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2006, 11h43
  5. Réponses: 2
    Dernier message: 31/08/2002, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo