Bonjour,
j'ai mis en place l'OHS sur ma 10gr2 (windows XP) afin d'attaquer une base hyperfile 7 (windows XP) et de récupérer ses données au sein d'oracle.
Soit "HF" la base hyperfile sur un serveur situé sur le réseau et soit "ORA" ma 10gr2 sur mon ordinateur.
Le premier hic est qu'il existe des incompatibilités de type de données entre HF et ORA (par exemple, LONG RAW). Donc, la solution que j'ai retenue est, avant d'executer cette migration de données entre HF et ORA, de lister les types de colonnes de chaque table et de n'exporter que les colonnes dont les types sont compatibles.
en théorie tout va bien...
mais en pratique voila ce qui se passe :
d'un coté :mon dblink marche, tout va bien, j'ai la description de la table all_tables sur la base simulée dblink_HF par OHS.SQL> desc all_tables@dblink_HF
Nom NULL ? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(1)
CLUSTER_NAME VARCHAR2(1)
IOT_NAME VARCHAR2(1)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
.... ....
Mais pour le traitement, ... voila le résultat :
Voila donc mon problème.SQL> select table_name from all_tables@dblink_HF;
TABLE_NAME
------------------------------
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
TABLE_NAME
------------------------------
A_XXXXXX
A_XXXXXX
A_XXXXXX
A_XXXXXX
ERROR:
ORA-00604: une erreur s'est produite au niveau SQL rÚcursif 1
ORA-28500: la connexion d'ORACLE Ó un systÞme non Oracle a renvoyÚ ce message :
ORA-02063: prÚcÚdant line de dblink_HF
Une erreur SQL récursif de niveau 1, avec aucune source d'erreur, pas d'explication.
Donc, messieurs, j'ai 2 questions :
° la connexion ODBC hyperfile est elle stable ? si quelqu'un a déjà pratiqué l'OHS pour hyperfile, j'aimerais bien savoir quel pilote il a utilisé
°y a t'il moyen de passer outre cette erreur, si quelqu'un peut m'expliquer... aprés pas mal d'heure passées sur notre Google le bien aimé, je sais juste qu'une erreur de ce type apparait pour :
- manque de mémoiré ou pb de ress.physique en générale
- execution de code SQL récursif. Donc dans un Select, ya pas de récursivité à ce que je sache. Mais vue que j'attaque le dictionnaire de données, peut-être qu'elle vient de là la récursivité.
Qu'en pensez vous ?
Merci à tous
Partager