Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb accès Oracle

3 réponses
Avatar
Mérinos06
Bonjour à tous,

J'ai un accès à Oracle depuis Excel qui fonctionne sur mon poste (excel
2001) mais pas sur un poste en Excel 2003.

L'accès se fait ainsi :

With Worksheets(wNomFeuille).QueryTables.Add(Connection:=wConnex, _
Destination:=Worksheets(wNomFeuille).Range(wRangFeuille), Sql:=wReq)
.BackgroundQuery = False
.Refresh
End With

==> Message "erreur exécution 1004 erreur générale ODBC" sur le poste en 2003

En revanche, le type d'accès qui suit fonctionne sur les 2 postes :

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("QCREF", "TMA/tdtdtd", 0&)
Set EmpDynaset = OraDatabase.CreateDynaset(wReq, 0&)
...

Auriez-vous une idée de ce qui pourrait générer le dysfonctionnement de la
première méthode d'accès ?

Merci d'avance pour vos réponses.

Mérinos06

3 réponses

Avatar
michdenis
Bonjour Mérinos06,



Tu peux télécharger un document en français sur ce qu'est MDAC
et différents problèmes de connection ....

http://cjoint.com/?efbirEvTLn

Est-ce possible que "Open Database Connectivity (ODBC) drivers" soit différent
entre les 2 ordinateurs ?

exemple : Tu as créé ta requête avec le driver 3.51 sur le poste utilisant Excel 2001
et que tu exécutes la même requête avec 4.0 sur le poste ayant excel 2003 ?

De mémoire, en autre, les jokers utilisables dans une requête ne sont pas les mêmes
selon la version que tu utilises.


Salutations!



"Mérinos06" a écrit dans le message de news:

Bonjour à tous,

J'ai un accès à Oracle depuis Excel qui fonctionne sur mon poste (excel
2001) mais pas sur un poste en Excel 2003.

L'accès se fait ainsi :

With Worksheets(wNomFeuille).QueryTables.Add(Connection:=wConnex, _
Destination:=Worksheets(wNomFeuille).Range(wRangFeuille), Sql:=wReq)
.BackgroundQuery = False
.Refresh
End With

==> Message "erreur exécution 1004 erreur générale ODBC" sur le poste en 2003

En revanche, le type d'accès qui suit fonctionne sur les 2 postes :

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("QCREF", "TMA/tdtdtd", 0&)
Set EmpDynaset = OraDatabase.CreateDynaset(wReq, 0&)
...

Auriez-vous une idée de ce qui pourrait générer le dysfonctionnement de la
première méthode d'accès ?

Merci d'avance pour vos réponses.

Mérinos06
Avatar
Mérinos06
Merci pour ta réponse Michdenis.

Effectivement les versions ODBC sont différentes : 2.573.9030.00 pour le
poste qui marche (Excel 2001) et 2.575.117.00 pour celui qui ne fonctionne
pas (Excel 2003).

Ne devrait-il pas y avoir compatibilité ascendante ?

Et qu'entends-tu par joker ?

Merci pour ton aide.

Mérinos06


Bonjour Mérinos06,



Tu peux télécharger un document en français sur ce qu'est MDAC
et différents problèmes de connection ....

http://cjoint.com/?efbirEvTLn

Est-ce possible que "Open Database Connectivity (ODBC) drivers" soit différent
entre les 2 ordinateurs ?

exemple : Tu as créé ta requête avec le driver 3.51 sur le poste utilisant Excel 2001
et que tu exécutes la même requête avec 4.0 sur le poste ayant excel 2003 ?

De mémoire, en autre, les jokers utilisables dans une requête ne sont pas les mêmes
selon la version que tu utilises.


Salutations!



"Mérinos06" a écrit dans le message de news:

Bonjour à tous,

J'ai un accès à Oracle depuis Excel qui fonctionne sur mon poste (excel
2001) mais pas sur un poste en Excel 2003.

L'accès se fait ainsi :

With Worksheets(wNomFeuille).QueryTables.Add(Connection:=wConnex, _
Destination:=Worksheets(wNomFeuille).Range(wRangFeuille), Sql:=wReq)
.BackgroundQuery = False
.Refresh
End With

==> Message "erreur exécution 1004 erreur générale ODBC" sur le poste en 2003

En revanche, le type d'accès qui suit fonctionne sur les 2 postes :

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("QCREF", "TMA/tdtdtd", 0&)
Set EmpDynaset = OraDatabase.CreateDynaset(wReq, 0&)
...

Auriez-vous une idée de ce qui pourrait générer le dysfonctionnement de la
première méthode d'accès ?

Merci d'avance pour vos réponses.

Mérinos06







Avatar
michdenis
Bonjour Mérinos06,


| Et qu'entends-tu par joker ?

C'était à titre d'exemple... Les "joker" ce sont les symboles "*" et "?" que l'on peut
utiliser dans une requête pour demander de ne retourner tous les noms d'un champ
débutant par la lettre M* à titre d'exemple. Sur l'autre version au lieu d'utiliser
* dans la requête, on doit utiliser % comme symbole.

L'autre aspect de la question : la version Excel 2001 fait référence à un
environnement McIntosh ... bien que je sais qu'il y ait des différences... je
ne connais pas ce dernier environnement !


Salutations!





"Mérinos06" a écrit dans le message de news:

Merci pour ta réponse Michdenis.

Effectivement les versions ODBC sont différentes : 2.573.9030.00 pour le
poste qui marche (Excel 2001) et 2.575.117.00 pour celui qui ne fonctionne
pas (Excel 2003).

Ne devrait-il pas y avoir compatibilité ascendante ?

Et qu'entends-tu par joker ?

Merci pour ton aide.

Mérinos06


Bonjour Mérinos06,



Tu peux télécharger un document en français sur ce qu'est MDAC
et différents problèmes de connection ....

http://cjoint.com/?efbirEvTLn

Est-ce possible que "Open Database Connectivity (ODBC) drivers" soit différent
entre les 2 ordinateurs ?

exemple : Tu as créé ta requête avec le driver 3.51 sur le poste utilisant Excel 2001
et que tu exécutes la même requête avec 4.0 sur le poste ayant excel 2003 ?

De mémoire, en autre, les jokers utilisables dans une requête ne sont pas les mêmes
selon la version que tu utilises.


Salutations!



"Mérinos06" a écrit dans le message de news:

Bonjour à tous,

J'ai un accès à Oracle depuis Excel qui fonctionne sur mon poste (excel
2001) mais pas sur un poste en Excel 2003.

L'accès se fait ainsi :

With Worksheets(wNomFeuille).QueryTables.Add(Connection:=wConnex, _
Destination:=Worksheets(wNomFeuille).Range(wRangFeuille), Sql:=wReq)
.BackgroundQuery = False
.Refresh
End With

==> Message "erreur exécution 1004 erreur générale ODBC" sur le poste en 2003

En revanche, le type d'accès qui suit fonctionne sur les 2 postes :

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("QCREF", "TMA/tdtdtd", 0&)
Set EmpDynaset = OraDatabase.CreateDynaset(wReq, 0&)
...

Auriez-vous une idée de ce qui pourrait générer le dysfonctionnement de la
première méthode d'accès ?

Merci d'avance pour vos réponses.

Mérinos06