Excel VBA se connecter à distance Oracle DB avec InstantClient

Je suis en train d'utiliser Excel (principalement 2003, pour plus de compatibilité) pour se connecter à distance à un Oracle DB. Je voudrais lancer un .sql script et retour le jeu de données vers une feuille de calcul.
Je suis sur un Windows 7 64 bits machine. Je ne connais pas les specs de l'Oracle serveur de base de données.
Je tiens à garder cette aussi léger que possible (pas de fichier supplémentaire installations sur des machines client, de l'utilisation partagée des emplacements réseau pour les fichiers requis autant que possible)



Jusqu'À Présent:

J'ai téléchargé et "installé" la InstantClient à partir d'Oracle (versions 12.1 et 11,2 pour à la fois 32 bits et 64 bits) sur un emplacement réseau à distance.
J'ai essayé la connexion à la DB Oracle à l'aide de SQL Plus et il a bien fonctionné (j'ai essayé plusieurs installé InstantClient versions pour voir si il y aurait des problèmes de compatibilité).
Comme un test: à l'aide de SQL Plus et la fonction Shell en VBA, j'ai pu réussir à traiter les données dans un fichier excel distinct.


J'ai essayé plusieurs différentes de la chaîne de connexion en utilisant des formats différents pilotes/fournisseurs:

  • Driver={Oracle dans instantclient_11_2}
  • Driver={Microsoft ODBC pour Oracle}
  • Fournisseur=MSDAORA
  • Fournisseur=MSDAORA.1
  • Fournisseur=OraOLEDB.Oracle

Les Erreurs Que J'Ai Reçu:

"Run-time error '-2147467259 (80004005)':
[Microsoft][ODBC Driver Manager] Driver's SQLAllocHandle on SQL_HANDLE_ENV failed
The Oracle(tm) client and networking components were not found. These components are supplied by Oracle Corporation..."
"Run-time error '-2147467259 (80004005)':
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
"Run-time error '3706':
Provider cannot be found. It may not be properly installed"

Et quelques autres erreurs similaires.


J'ai ajouté le réseau de l'emplacement contenant le instantclient fichiers de ma variable d'environnement PATH. Pas sûr de ce que d'autres variables environnementales, j'ai besoin ou même si mon actuel est correct.

Faire j'ai besoin de:
TNS_ADMIN?
ORACLE_HOME?



Question:

  • Comment faire pour me connecter à la distance Oracle DB avec VBA, à l'aide de la instantclient fichiers qui se trouvent dans un réseau (action) emplacement?
    • Quelle est la bonne plein chaîne de connexion? (J'ai utilisé le EZConnect format avec SQLPlus; sont les réels détails de la connexion de la même manière? et pour plus de précisions, quelqu'un pourrait-il poster un exemple de la façon dont la EZConnect format convertit en d'autres formats(s)?)
      My EZConnect Format: username/password@myserver.some.thing.com/mydb
    • Ce "fournisseur" ou "pilote" devrait - je utiliser à cette fin et il y a des différences significatives?
    • Ce que les variables d'environnement puis-je besoin pour faire ce travail?

J'ai trouvé beaucoup de questions qui sont similaires ou connexes, mais aucun qui a directement répondu à ma question ou aidé à me suffit pas à résoudre complètement.

OriginalL'auteur agent provocateur | 2014-03-03