Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1463 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Syntaxe pour migration données via ODBC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Syntaxe pour migration données via ODBC

n°1456241
chev6791
Posté le 12-10-2006 à 17:00:42  profilanswer
 

Voila je voudrais réaliser la migration de données entre une base Sybase et une base Oracle.
 
Le but serait d'écrire un ensemble de scripts qui font un INSERT dans la base ORACLE sur base d'un SELECT dans la base SYBASE.
 
Inutile de proposer de passer par des fichiers temporaires (ce sera ma solution de dernier recours, mais je suis pas trop chaud).
 
A priori ca semble techniquement possible mais je bute sur la syntaxe. Si quelqu'un avait un début de piste ca m'aiderait vraiment.  
 
On dispose d'un ODBC sur chacune des base.


---------------
En informatique, le problème se situe en général entre la chaise et le clavier :whistle
mood
Publicité
Posté le 12-10-2006 à 17:00:42  profilanswer
 

n°1456280
leflos5
On est ou on est pas :)
Posté le 12-10-2006 à 17:24:19  profilanswer
 

Pourquoi la solution des fichiers sql te pose un problème :??:
 
Suffirait de faire un export puis un import et c'est torché pour une base complète :)
 

n°1456374
chev6791
Posté le 12-10-2006 à 20:43:49  profilanswer
 

le problème c'est qu'on est dans un environnement sécurisé et on a pas trop envie que des données voyagent dans des fichiers.

n°1456414
leflos5
On est ou on est pas :)
Posté le 12-10-2006 à 22:33:10  profilanswer
 

Tes 2 serveurs ils seront pas au même endroit?  
 
Que ça passe par du réseau jusqu'à un serveur ou que le fichier aille jusqu'au serveur ça sera la même chose.
 
Faudrait plus de détail pour trouver la meilleure solution ;)
 
M'enfin si y'a obdc des 2 côtés, suffit juste de taper dans une base et de recopier dans l'autre je vois pas vraiment le problème :??:

n°1456469
chev6791
Posté le 13-10-2006 à 07:23:50  profilanswer
 

ben justement mon probleme c'est la syntaxe de la SQL
Genre :
 
INSERT INTO Server1.DB1.Table (Select * from Server2.DB2.Table)

n°1456498
jeoff
Posté le 13-10-2006 à 09:31:29  profilanswer
 

Tu ne pourra pas avec une unique connexion et une unique requête faire un import/export entre 2 SGBD différents.
 
Ce qu'il faut faire :
 
- Ouvrir une connexion ODBC sur la base 1
- Ouvrir une connexion ODBC sur la base 2
- Faire un select sur la base 1
- Stocker les résultats (dans un objet type recordset par ex)
- Faire un insert sur la base 2. Avec comme paramètre les résultats du select.
- Fermer les 2 connexions
 
Ca se fait rapidement en VB .net voire en VBA si tu as Office qui traîne sur un poste avec accès ODBC pour chaque base.
 
Par contre, j'espère que l'encodage est le même des deux côtés sinon gare aux surprises :D
 
Bonne chance :)

n°1456500
MagicBuzz
Posté le 13-10-2006 à 09:37:01  profilanswer
 

jeoff a écrit :

Tu ne pourra pas avec une unique connexion et une unique requête faire un import/export entre 2 SGBD différents.
 
Ce qu'il faut faire :
 
- Ouvrir une connexion ODBC sur la base 1
- Ouvrir une connexion ODBC sur la base 2
- Faire un select sur la base 1
- Stocker les résultats (dans un objet type recordset par ex)
- Faire un insert sur la base 2. Avec comme paramètre les résultats du select.
- Fermer les 2 connexions
 
Ca se fait rapidement en VB .net voire en VBA si tu as Office qui traîne sur un poste avec accès ODBC pour chaque base.
 
Par contre, j'espère que l'encodage est le même des deux côtés sinon gare aux surprises :D
 
Bonne chance :)


Ca c'est au cas où ni Oracle ni Sybase supportent les DBLink à travers ODBC.
 
Moi je suis de l'avis de chev6791.
Il faut trouver un moyen (si Sybase ne sait pas faire, je suis certain que Oracle le permet) afin d'ouvrir un DBLink à travers ODBC d'un des serveurs vers l'autre.
Ce sera à la fois rapide et fiable. Sans parler du fait que pour un traîtement un peu plus complexe, il pourra gérer dans une unique transaction les transactions des deux serveurs.

n°1456506
chev6791
Posté le 13-10-2006 à 09:47:21  profilanswer
 

MagicBuzz a écrit :

Ca c'est au cas où ni Oracle ni Sybase supportent les DBLink à travers ODBC.
 
Moi je suis de l'avis de chev6791.
Il faut trouver un moyen (si Sybase ne sait pas faire, je suis certain que Oracle le permet) afin d'ouvrir un DBLink à travers ODBC d'un des serveurs vers l'autre.
Ce sera à la fois rapide et fiable. Sans parler du fait que pour un traîtement un peu plus complexe, il pourra gérer dans une unique transaction les transactions des deux serveurs.


 
Voila t'as bien résumé la situation je trouve.
 
Tu as une idée de la syntaxe pour 'passer le nom du serveur et de la DB' parce que j'ai fait quelques test avec Server1.db1.Table mais ca me génère des erreurs de syntaxe.


---------------
En informatique, le problème se situe en général entre la chaise et le clavier :whistle
n°1456507
MagicBuzz
Posté le 13-10-2006 à 09:52:13  profilanswer
 

aucune idée :sweat:
 
sous sql sever la syntaxe est relativement simple, mais c'est la seule que je connaisse.
 
(t'as qu'à monter un SQL Server, faire des dblink, et faire le transfert de sybase à Oracle en passant par SQL Server :D --ceci dit, c'est pas complètement stupide, les lots DTS de SQL Server ça peut être bien intéressant ;) --)

n°1456738
jeoff
Posté le 13-10-2006 à 13:15:53  profilanswer
 

Désolé, je ne connaissais pas l'existence des DBLink ...
Faudra que je creuse ça à l'occasion :D

mood
Publicité
Posté le 13-10-2006 à 13:15:53  profilanswer
 

n°1456790
MagicBuzz
Posté le 13-10-2006 à 14:13:48  profilanswer
 

un peu de doc afin de voir Sybase depuis Oracle (ce qui reviens au même donc)
 
http://forums.oracle.com/forums/th [...] ID=1323825
 
(l'exemple traîte de SQL Server mais bon, y'a pas de raison pour que ça ne marche pas pareil pour se connecter à Sybase -d'autant qu'à la base, MS SQL est une vieille version de Sybase qui a évoluée de son côté, donc les deux SGBD doivent être relativement équivalents pour ce qui est de la connectivité)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Syntaxe pour migration données via ODBC

 

Sujets relatifs
Erreur odbc postgres : "The # of binded parameters < the # of pa ..."[MySQL] Decrypter les donnees d'un blob dans une procedure
Xsl & import de données xmlsql: ORDER BY alphabetique pour des données du genre 12CAY
[script shell] grep -f sur de grandes quanités de donnéeserreur de syntaxe ???
Stockage de données[BATCH] petite aide pour syntaxe subsitution commande
recherche de données dans excel sans ouvrir les fichiersAJAX, renvoi de données
Plus de sujets relatifs à : Syntaxe pour migration données via ODBC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR