Source ODBC

madlolo

XLDnaute Junior
Bonjour à tous,

nous possédons une base de données à laquelle on accède, sous Excel, via une source ODBC ("Panneau de Configuration" -> "Outils d'administration" -> "Sources de données (ODBC)").

Nous avons en l'occurence 2 postes sur lesquels la source ODBC est installée (mêmes paramètres), et en cliquant sur le bouton "Test", nous avons le message "success" qui apparaît sur nos deux postes.

Les sources de données sont définies en tant que "source de données système" (et non utilisateur) : ainsi, si on ouvre une session avec un autre profil, cette source de données configurée reste exploitable pour l'autre utilisateur.

Dans le code VBA pour se connecter à la base, nous avons ceci :
Code:
Set connexion = CreateWorkspace(Name:="", UserName="myuser", Password:="mypassword", usetype:=dbUseODBC)
Set DB = connexion.OpenDatabase("MY_ODBC_SOURCE")

Or, sur mon poste, il n'y a aucun problème à l'utilisation de ce code lorsque j'ouvre un fichier Excel.
Par contre, sur un autre poste, et quelque soit le profil, l'appel et l'utilisation du code ci-dessus plante à la 2ième ligne, avec l'erreur suivante :
Erreur d'exécution '3146'
ODBC -- l'appel a échoué

L'aide de Microsoft Visual Basic donne l'information suivante sur l'erreur 3146 :
Cette erreur peut se produire lorsque la source de données ODBC figure sur une unité de réseau et que vous n'êtes pas connecté au réseau. Assurez-vous que le réseau est disponible et recommencez l'opération.

Quelques questions :
- comment se fait il que l'on ait un tel message d'erreur, alors que, lorsque l'on affiche la source ODBC, après avoir appuyé sur le bouton "Test", on a un message de succès sur les 2 postes ? :confused:
- qui a déjà été confronté à cette erreur ?
- apparemment donc il s'agit plus d'une erreur de configuration réseau ? Mais comment le détecter et comment le corriger ? (je n'ai que des compétencesde développeur)

Merci à tous d'avance,

Très cordialement,
 

madlolo

XLDnaute Junior
Re : Source ODBC

Merci pour votre lien, car, même si ce n'est pas ce que je cherchais, ça m'a mis la puce à l'oreille et permis de trouver l'erreur.

En effet, j'ai constaté, lorsque j'ai effectué le test, que j'avais le message d'erreur suivant :
Code:
Accès refusé pour l'utilisateur: 'myuser'@'@%'. Base ' mon_schema'

Or, le nom de notre base ne contient pas d'espace avant "mon_schema". :p

En corrigeant, dans la définition de la source ODBC, le champ "Database", nous avons corrigé notre problème ! :D :)

Et j'en déduis que, lorsque l'on définit une sourc ODBC, le fait de "tester" (bouton "Test" de la fenêtre de définition de source ODBC MySQL) ne testerait "que" l'accès au serveur de la base de données, pas la base et son schéma en lui même.
 

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 387
Membres
103 532
dernier inscrit
sdfrgthyjuki