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

Macros et VBA Excel Discussion :

[E03] ADO vers DB AS400 : Quel provider utiliser ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut [E03] ADO vers DB AS400 : Quel provider utiliser ?
    Bonjour,
    j'ai posé ma question sur le forum de l'AS400, mais comme le code est dans VBA je préfère également la poser ici.

    Dans excel, je souhaite effectuer une requête via ADO sur une database AS400.
    Pour cela j'ai constitué une DNS sur mon PC avec la librairie, le fichier, le user .... à utiliser pour la connection.

    Le problème se situe au niveau de l'établissement de la liaison dans Excel vers l'as400.

    le code VBA est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function GetConnexion() As ADODB.Connection
        Dim cn As New ADODB.Connection
        
        ' Choisir une des deux lignes suivantes, selon que tu as créé un dsn ou pas
        ' Le dsn est plus simple à gérer lors du déploiement sur plusieurs postes qui
        ' pointent vers une même base
    
        cn.open = "Provider=MSDASQL; DSN='DSN_NAME'; Database='DBNAME'; " & _
          "UID='ODBC';PWD='ODBC';"
        cn.Open "dsn=DSN_NAME"
        
        Set GetConnexion = cn
        Set cn = Nothing
    End Function
    ce code est extrait de ce post

    La syntaxe et les keywords à utiliser sont fonction du type de Provider Pour les données, et dans l'aide Microsoft Office (Platform SDK Collection for Windows Server 2003 Sp1" je ne trouve pas ce que je dois préciser comme provider pour ma DNS qui utiliser un DRIVER ODBC spécifique fourni avec l'AS400.

    Quand je travaille uniquement avec le nom DNS,(ligne en gras) cela ne suffit pas apparement.
    Ou alors il faut travailler au niveau de la définition DNS, mais je ne trouve pas quoi ajouter ni ou.

    A chaque tentative de connection, je reçois le message "ADODB.Connection--> provider cannot be found. It may not be proprely installed"

    Si quelqu'un à déjà fait de l'ADO sur une fichier AS400, j'aimerais savoir comment il a codé.

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    La solution est en cours ici, donc je déleste ce post-ci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2008, 12h56
  2. [ADO.NET]Sur quels critères utiliser procédures stockées?
    Par Oberown dans le forum Accès aux données
    Réponses: 3
    Dernier message: 06/04/2006, 17h16
  3. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 21h44
  4. Réponses: 3
    Dernier message: 27/08/2003, 22h14
  5. Réponses: 2
    Dernier message: 11/07/2002, 09h31

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