Excel & oracle

dodoremix

XLDnaute Nouveau
Bonjour,

Je me trouve confronter à un problème pour faire un import de donnée dans excel via une requete sur une base Oracle.
J ai modifier mon tnsnames.ora pour que la base soit visible de ma machine.
Quand je fais un test avec un logiciel comme Golden (equivalent de Toad) ma requete fonctionne bien.
Mon poste est sous Windows et le serveurimpactés sous Unix.
Mais lorsque j essai dans microsoft query (via Donnée->Donnée externe-> créer une requete) ca me retourne n importe quoi et la requete plante.
Est ce que cela viendrait de ma declaration du lien ODBC (grace à l outils d admin de source d ODBC) ?
QQ 1 aurait il un exemple de connexion à Oracle ? J ai chercher sur le net sans trouver mon bonheur :(

Merci de votre aide
 

ballmaster

XLDnaute Occasionnel
Re : Excel & oracle

bonjour,

Je ne connais les paramétrages ODBC via une base oracle, mais pour ma part, les paramétrages via driver ODBC à une base 4D fonctionnent avec :

données -> données externes -> importer des données.
A ce niveau là tu dois avoir le nom de ta base que tu as déclarer en parémétrant ton driver odbc. Tu peux ensuite aller dans query faire ta requête.

Cela ne fonctionne par contre pas pour ma part en créant la requête directement comme tu le fais.
 

dodoremix

XLDnaute Nouveau
Re : Excel & oracle

J'ai encore une question decidement !!

s_moins_1 = Sheets("init").Range("B4").Value
s_plus_1 = Sheets("init").Range("B5").Value

Sheets("donnee").Range("A1").Select
With Selection.QueryTable
.Connection = "OLEDB;Provider=MSDAORA.1;User ID=toto;Data Source=BASEBDD"
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT ATTR_184 as "" Semaine MEP "" , ATTR_174 as "" Indispo Client "", ATTR_164 as "" Date de mep souhaitée "", ATTR_1 as Titre,ATTR_180 as SSA,ATTR_175 as "" Ligne de production "", ATTR_177 as "" Motif/Urgence "", ATTR_178 as "" Nature" _
, _
" de la mep "",STATUS as "" Statut "", CH_DOC_ID AS "" ID "" FROM CM_ATTRIBUTES A, CM_CATALOGUE C where A.CH_UID=C.CH_UID and (ATTR_175 like '%LS-MID%' or ATTR_175 like '%LS-A%')and (ATTR_184 between ' & " & s_moins_1 & " & ' and ' & " & s_plus_1 & " & ') AND ATTR_164 like '%2008' order by ATTR" _
, "_184")

.Refresh BackgroundQuery:=False
End With

Mon pb est que les variables ne sont pas prisent en compte.
Ma requete est elle mauvaise(enfin elle fonctionne si on remplace & " & s_moins_1 & " & par un chiffre
 
G

Guest

Guest
Re : Excel & oracle

Bonjour dodoremix,Ballmaster
Bonjour le Forum.

Généralement ce genre de problèmme vient d'une mauvaise utilisation des guillement simple ou double. Je pense que la fin de ta requête devrait resembler à ceci :
Code:
"(ATTR_184 between ' " & s_moins_1 & " ' and ' " & s_plus_1 & "') AND ATTR_164 like '%2008' order by ATTR" & "_184)"

A bientôt
 
G

Guest

Guest
Re : Excel & oracle

Re bonjour,

questions: Pourquoi un array dans commandText.
Pourquoi des double guillemets entourant tes noms de champs ne serait-ce pas plutôt des '[' et ']' qu'il faille employer?


Pour vérifier le texte du texte de ta commande met celui-ci dans une variable après la ligne s_plus_1= ..... et affiche la par une msgbox

Exemple:

Code:
dim leTexte as string
....
leTexte=....Texte de la requête
msgbox leTexte
ceci pour vérifier comment elle est composée.

A bientôt
 

Discussions similaires

Réponses
1
Affichages
385
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 927
Messages
2 093 687
Membres
105 782
dernier inscrit
obelix76