|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2007 Messages : 79 ![]() |
Bonjour,
En l'absence d'ETL, j'ai besoin de faire communiquer ma base ORACLE 10g (pour un projet décisionnel) avec une base PostGres 8 (base métier client) afin d'alimenter ma base ORACLE avec les tables de ma base PostGres. Je souhaite faire cela le plus simplement possible (enfin si c'est possible.... Les deux bases sont sur deux serveurs différents. N'ayant jamais installé de base, que doit-on faire ? Quel type de "lien" installer pour que cela fonctionne ? Je ne sais pas si ma demande est très claire mais n'hésitez pas à me poser des questions, j'essaierai d'y répondre au mieux de mes connaissances Merci de votre aide à tous Darcynette |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 357 ![]() |
si ta base oracle est sur un serveur windows et que il existe un driver odbc pour postgresql alors tu peux y arriver assez facielement avec un dblink utilisant le service hsodbc.
Regarde si les deux condition sont bonnes et je peux t expliquer plus en detail |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2007 Messages : 79 ![]() |
Merci pour ta réponse !
La base Oracle sera sur un serveur Windows 2003, ca c'est sur. Pour le reste des informations, dès que j'ai tout, je ne manquerai de venir poster les infos pour une aide bienvenue ! |
|
|
00
|
|
|
#4 | ||||||||
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 357 ![]() |
tu ne devrai pouvoir y arriver , regarde ici pour le lien odbc
http://www.developer.com/open/article.php/631251 et ci dessous un copier coller d une doc pour faire dialoguer oracle avec mysql , adapte un peu pour postgre 1) installe sur le serveur le driver odbc mysql 3.51 2) cree un lien odbc vers ta base mysql Datasourcename : MYDATASOURCENAME server : ip mysql user : MyUser password : MyPass 3) Rajoute la section suivante dans ton listener.ora et redemarre le listener via les services windows ou en ligne de comande (pas net manager!!) Code :
Code :
5) tu peux faire un 'tnsping hsodbc' et voir si tout est OK 6)Dans le repertoire 'C:\oracle\10.2.0\db\hs\admin ' cree un fichier 'initmyodbc3.ora ' , et edite le pour avoir la config suivante. Code :
Code :
Voila , maintenant avec n importe quek user, tu peux taper Code : SELECT * FROM "MyTable"@mylink WHERE "Id" LIKE "%xx%"; 9) 2 3 trucs a savoir avec mysql : -Les requetes de types select a from x@Mylink where a in (select a from Y@Mylink)) ne fonctionneront pas. -N'utilise plus Les assistant qui touche au tnsnames.ora et listenet.ora -Si tu utilise des count(*) ou autre fonction du style , tu doit les entourer de la fonction to_number() , sinon les resultats sont incorrect (select to_number(count(*)) from MyTable@MyLink |
||||||||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2007 Messages : 79 ![]() |
Merci pour les tuyaux,
Je m'attaque au montage la semaine prochaine et raconterai si tout s'est bien passé |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 5 ![]() |
Bonjour,
J'utilise aussi une base oracle, et je dois également récupérer des informations à partir d'une base postgres. Grâce à vos conseils, et à d'autres que j'ai recueillis sur le net, j'ai réussi à communiquer avec la base postgres, en passant par hsodbc. Donc, actuellement, je peux faire : Seulement, ma base postgres utilise des procédures stockées, qui effectuent ensuite de nombreuses manipulations. Sous postgres, on peut appeler la procédure de différentes façons : Code :
J'ai donc essayé : Code :
SELECT MaProcedure(12345) FROM MyDummyTable@mylink; J'ai cru entendre que hsODBC ne gérait pas les procédures stockées. Est-ce le cas? Sauriez-vous de quelle manière, ou par quel *contournement* je pourrais exécuter des procédures postgres à à partir d'oracle? |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com