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:
ce code est extrait de ce post
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
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é.
Partager