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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requêtes entre BDD Oracle différentes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requêtes entre BDD Oracle différentes

n°1259140
lolobreizh
Posté le 05-12-2005 à 15:25:18  profilanswer
 

Bonjour,
Je dispose d'une base Oracle ORADB1 avec le paramétrage suivant :

  • NLS_CHARACTERSET=WE8MSWIN1252
  • NLS_NCHARACTERSET=AL16UTF16

et d'une deuxième base Oracle ORADB2 avec le paramétrage suivant :

  • NLS_CHARACTERSET=AL32UTF8
  • NLS_NCHARACTERSET=AL16UTF16


Dans les 2 bases, j'ai une table TOTO.F0101 qui a une colonne de type différent selon la base :

  • VARCHAR2 pour ORADB1
  • NVARCHAR2 pour ORADB2


Ma question : est-il possible de faire un requête du style "INSERT INTO TOTO.F0101@ORADB2 SELECT * FROM TOTO.F0101@ORADB1" ?
 
J'ai essayé de le faire "bêtement" en ouvrant une session SQL*Plus sur ORADB1 et en exécutant une telle requête mais la table est illisible de l'autre côté.
 
Merci pour votre aide.
Cordialement,

mood
Publicité
Posté le 05-12-2005 à 15:25:18  profilanswer
 

n°1259275
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 16:40:32  profilanswer
 

faut changer le charset à la volée durant le insert.
 
j'ai plus la syntaxe en tête, mais c'est possible, je l'ai fait.
 
le but du jeu à l'époque était d'échanger des caractères étendus entre d'un côté une base configurée en UTF-8 et de l'autre une base configurée en ASCII Latin-1. On s'était bien amusé pour les caractères japonnais et arabes... en effet, écrire de l'utf dans une base ASCII, aucun problème... par contre, pour relire...
 
je me souvient que c'était un bordel pas possible, il fallait caster deux fois, mais je n'ai plus aucun souvenir de comment on avait fait.

n°1259801
lolobreizh
Posté le 06-12-2005 à 09:40:45  profilanswer
 

Arjuna a écrit :

faut changer le charset à la volée durant le insert.
 
j'ai plus la syntaxe en tête, mais c'est possible, je l'ai fait.
 
le but du jeu à l'époque était d'échanger des caractères étendus entre d'un côté une base configurée en UTF-8 et de l'autre une base configurée en ASCII Latin-1. On s'était bien amusé pour les caractères japonnais et arabes... en effet, écrire de l'utf dans une base ASCII, aucun problème... par contre, pour relire...
 
je me souvient que c'était un bordel pas possible, il fallait caster deux fois, mais je n'ai plus aucun souvenir de comment on avait fait.


Gargl!
Voilà qui est dommage pour ta mémoire... Si quelqu'un d'autre a une idée...
Ce serait pas à l'aide des fonctions tochar ou to_nchar par hasard ?

n°1259824
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-12-2005 à 09:58:49  profilanswer
 

de mon côté, je n'ai jamais touché au type "nvarchar" d'oracle, car il est inutile pour mettre de l'unicode, un varchar2 suffit.
 
nan, par contre, les "nls_machintruc('avec plein de carctères dans tous les sens')" ça oui faut les utiliser.


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

  requêtes entre BDD Oracle différentes

 

Sujets relatifs
SQL Access/Oracle[access] règles de gestion de requêtes
BDD Designer ?Problème avec les accents dans les requêtes MysqL chez free
Comment faire un Bdd dans une Bdd ?transaction a plusieurs requetes
Pb Oracle TNS : no listenerRéplication basic Oracle à Oracle
requetes pour convertircalcul avec requêtes
Plus de sujets relatifs à : requêtes entre BDD Oracle différentes


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