DBLINK ORACLE vers MYSQL SQL Error: ORA-2850
Bonjour,
cela fait 3 jours que je me bats pour réaliser une lecture à partir d'un serveur OracleXE en utilisant un dblink vers mysql sans aboutir.
C'est pourquoi, j'ai bseoin de votre aide.
Topologie:
- OralceXE sous winows xp pro ( host: chemical-oracle)
- Mysql sous MacOSX (host MacSeb)
les ports par default sont utilisés.
Tout d abord sous win:
- j'ai installe le pilote odbc de mysql.
Les parametres ont l air d'être correctes:
http://users.teledisnet.be/web/jvi02950/11.jpg
- j'ai édité le fichier tnsname.ora (la partie en incliné concerne le code que j'ai ajouté)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = chemical-oracle)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
HSODBC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = chemical-oracle)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SID= MysqlAB)
)
(HS=OK)
) |
- j'ai édité le fichier listener.ora (la partie en incliné concerne le code que j'ai ajouté)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = MysqlAB)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = hsodbc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = chemical-oracle)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE) |
- j'ai crée le fichier initMysqlAB.ora dans C:\oraclexe\app\oracle\product\10.2.0\server\hs\admin
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = <MysqlAB>
HS_FDS_TRACE_LEVEL = off
#
# Environment variables required for the non-Oracle system
#
#set ODBCINI= c:\WINDOWNS\odbc.ini |
-je fais un lsnctl restart
http://users.teledisnet.be/web/jvi02950/22.jpg
- je fais un tnsping hsodbc sous windows (ou se trouve la bd oracle)
http://users.teledisnet.be/web/jvi02950/33.jpg
- je cree sous oracle mon db link:
Code:
1 2 3
|
CREATE DATABASE LINK testdb CONNECT TO "adminAB"
IDENTIFIED BY "passAB" USING 'HSODBC'; |
- puis je teste une requete :
Code:
1 2
|
select * from voyageur@testdb; |
- et enfin l'erreur produite:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Error starting at line 1 in command:
select * from voyageur@testdb
Error at Command Line:1 Column:23
Error report:
SQL Error: ORA-28500: la connexion d'ORACLE à un système non Oracle a renvoyé ce message :
[Generic Connectivity Using ODBC][X019] XML parsing error: [X019] XML parsing error: no element found
ORA-02063: précédant 2 lines de TESTDB
28500. 00000 - "connection from ORACLE to a non-Oracle system returned this message:"
*Cause: The cause is explained in the forwarded message.
*Action: See the non-Oracle system's documentation of the forwarded
message. |
Je vous remercie d'avance d'avoir pris le temps de me lire et de m'aider si cela vous est possible.