|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
Bonjour, je dois quotidiennement lancer une requête SQL sur un serveur Oracle.
Avant, on utilisais le spool pour mettre les résultats dans un fichier texte. Puis ici je suis en train de tester pour grâce à un driver ODBC récupérer directement le résultat de cette requête dans un fichier Excel (parce qu'avant il fallait copier le texte en question à partir du FTP, puis l'importer en Excel et le découper). J'ai donc crée une View sur le serveur, que j'arrive a importer dans Excel, mais le problème est que dedans il y avait une variable. Celle-ci ne fonctionne désormais plus (j'ai du mettre une constante en dur pour la faire fonctionner) mais ça peut pas aller comme ça. Alors est-ce que quelqu'un aurait une solution à me proposer ? Merci |
|
|
00
|
|
|
#2 |
![]() Inscription : décembre 2002 Messages : 2 397 ![]() |
Bonjour
Un exemple concret de vos requêtes (avant / après) serait le bienvenu.
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
00
|
|
|
#3 | ||||||
|
Membre du Club
![]() |
Avant
Code :
test avec la variable : Code :
Code :
Et là ça marche mais simplement pour ce client (Bon évidemment j'ai pas mis tout le code c'est une version très très simplifiée mais le principe est là) |
||||||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() |
Personne n'aurait une idée ?
Est-ce qu'on peut récupérer un résultat d'une procédure stockée par un driver ODBC (pour lire des données sur Excel) ?? |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
tu as transmis la variable comment ? l'écriture &variable est spécifique à SQL*Plus. Comment tu récupères les données d'Oracle dans Excel ?
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() |
J'ai installé Oracle Client, ce qui me permet d'utiliser le driver ODBC d'oracle
et donc de me connecter au serveur Oracle avec Excel (ou n'importe quelle autre application cliente supportant l'ODBC) Si comme tu dit l'écriture de la variable &variable est spécifique à SQL plus que faire pour utiliser SQL*plus dans Excel ? ou bien aurait tu une autre idée pour transmettre un paramètre a la View ? ou autres choses pour résoudre mon problème ? |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
comment exécutes-tu la requête dans Excel ? Tu passes par du VBA non ?
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
une variable dans une vue se fait typiquement avec un contexte.
il y a un exemple dans la doc http://download.oracle.com/docs/cd/B...htm#sthref6073 |
|
00
|
|
|
#9 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Dans ce cas il faut pouvoir initialiser le contexte, ce qui n'est pas forcément simple via ODBC... mais c'est une bonne piste en effet
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() |
Oulala ça m'a l'air assez compliqué tout ça
Mais sinon plus simplement. Est-ce possible de créer un VBA qui : - Crée le driver ODBC si il n'est pas crée (pas indispensable si trop compliqué) - Demande le mot de passe pour la base de données - Propose une form qui demande une variable (choix du client en question) - Quand on clique sur un bouton génère une requête et récupère le résultat dans la feuille Et ce VBA devrait être "importable" n'importe quelle feuille => Au niveau global d'Excel => pour qu'il puisse être utilisable facilement par plusieurs utilisateurs => plusieurs pc Pour le code VB normalement pas de problème mais quelques pistes me seraient bien utiles, Mon problème réside plus pour le 1er point et le 4ème ainsi que "importable" Merci pour vos réponses ça m'apprends beaucoup |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
tu peux t'inspirer de ceci : http://www.developpez.net/forums/sho...79&postcount=2
avec ODBC ça fonctionne quasiment pareil qu'avec object OLE, regarde du coté du forum VBA Excel |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com