Query sur plusieurs databases

Query sur plusieurs databases - SQL/NoSQL - Programmation

Marsh Posté le 02-10-2005 à 01:17:36    

je cherche un outil qui permet de faire des query sur plusieurs databases a la fois  ( a partir d'ADO)
 
ex:

Code :
  1. select * from tableA,tableB where id_tableA=id_tableB


tableA appartient a Oracle et tableB a SQL server par exemple.....
 
Il est possible de faire ca avec Access mais bon jaimerai me passer de ce SGBD
 
 
uriel m'a deja suggeré d'utiliser Discovery Link  mais celui ci me semble un peu trop important et surtout cher pour ce que je voudrais faire


Message édité par red faction le 02-10-2005 à 01:20:59
Reply

Marsh Posté le 02-10-2005 à 01:17:36   

Reply

Marsh Posté le 02-10-2005 à 14:41:17    

[:red faction]

Reply

Marsh Posté le 03-10-2005 à 14:36:35    

[:yoyoz]

Reply

Marsh Posté le 03-10-2005 à 21:15:43    

[:yoyoz]

Reply

Marsh Posté le 03-10-2005 à 22:49:32    

Oracle doit être capable de faire un dblink vers SQL Server via une connection ODBC.
 
SQL Server, lui, sait le faire en natif
 
Regarde la doc de ce dernier, il y a même un exemple permettant de faire exactement ce que tu veux faire depuis SQL Server.

Reply

Marsh Posté le 04-10-2005 à 01:39:20    

Ok merci je vais regarder a ca ...
 
Le mieux serait un soft, une lib ou un composant qui permette de faire ca...
genre un composant delphi qui accepte plusieurs connection string
mais apparement seul un SGBD peut realiser une telle operation....
 
 
En fait voila le probleme complet....
 
je doit acceder a des tables oracle de facon a produire des fichiers dinterface....
2 problemes :

1)
-le soft existant utilise plusieurs tables temporaires, tables nexistant pas dans la db client oracle. Il nest pas possible de creer c tables sur la db oracle (cette db ne nous appartient pas, read only donc)
-les tables doivent donc etre cree sur une db externe d'ou la necessite dutiliser 2 db et de faire les query entre les 2. (modifier le soft pour eviter cela nest plus possible, surtout que le programme sert a dautre clients..........)
 
lideal serait dutiliser une mdb access de mettre tout les liens vers oracle + les tables temporaire, ensuite le programme accede a la mdb sans se soucier de rien    [:yamusha]  
ca marche sans prob
 
2)  
seul petit probleme : pour acceder au tables oracle , je doit dabord lancer une procedure stockee située sur la db oracle, sinon je nai pas acces au tables (regle de securité)
ca delphi ne peut pa le faire vu que lui accede a la mdb directement, seul access peut donc lancer la procedure stockee  
le seul probleme c que je n'ai pas trouve de moyen de demander a Access dexecuter la stored procedure oracle depuis Delphi


 
si tu c maider ca me rendrait un *enorme* service.
c assez urgent (oui je c tout les post sont urgents....), si je ne trouve pa de solution pour la fin de la semaine, on ne sait pas livrer de version au client  [:pingouino]  

Reply

Marsh Posté le 13-10-2005 à 16:51:12    

Arjuna a écrit :

SQL Server, lui, sait le faire en natif


 
tu c donner plus d'info la dessus  ?

Message cité 1 fois
Message édité par red faction le 13-10-2005 à 17:05:57
Reply

Marsh Posté le 13-10-2005 à 20:46:31    

red faction a écrit :

tu c donner plus d'info la dessus  ?


Regarde du côté de la PS "sp_link" ou "xp_addlink", un truc du genre.
Ca permet de se connecter à n'importe quel SGBD via des drivers OLE DB.
Vu qu'il y a un drivers "OLE DB for ODBC", tu peux même lier une base qui n'a pas de driver OLE DB.
 
Après, selon le SGBD cible et l'état de compatibilité des drivers, tu peux avoir des limitations. Pour Oracle, y'a aucun problème (creuser peut-être dans l'aide à propos des champs de type BLOB et CLOB qui nécessitent peut-être une attention particulière).

Reply

Marsh Posté le 13-10-2005 à 20:56:19    

c bon laissez tombé g trouve une solution :D


Message édité par red faction le 13-10-2005 à 20:56:29
Reply

Marsh Posté le 13-10-2005 à 21:49:27    

M'en fout, j'ai pas oracle sous la main, et ça fait deux heures que je cherche à faire marcher ce putain de MySQL avec SQL Server pour te montrer comment ça marche, donc je laisse pas tomber :p
 
Ils pourraient quand même faire un drivers qui tiens la route les gars de MySQL, c'est chiant, y'a rien qui marche :o

Reply

Marsh Posté le 13-10-2005 à 21:49:27   

Reply

Marsh Posté le 13-10-2005 à 21:58:58    

Bon, finalement je crois que je vais quand même laisser tomber :
 

Code :
  1. Server: Msg 7399, Level 16, State 1, Line 1
  2. Le fournisseur OLE DB 'MSDASQL' rapporte une erreur. Le fournisseur rapporte une défaillance catastrophique inattendue.
  3. Trace de l'erreur OLE DB [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x8000ffff:  Le fournisseur rapporte une défaillance catastrophique inattendue.].


 
C'est vraiment d'la merde en branche les drivers ODBC de MySQL... :/

Reply

Marsh Posté le 13-10-2005 à 22:04:34    

ok, merci davoir cherche qd mm, mais jai trouve un moyen de lancer la stored procedure oracle depuis delphi (en passant par Access)
 
donc now jai acces a tout les tables sans prob :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed