|
||||
Ouverture de sessionNavigationContactez-nousAdministration du site : RechercheSujets du forumSujets actifsNouveaux sujets:SyndicationSondageQuelle est la version de PostgreSQL la plus répandue sur vos serveurs ? 8.3 10% 8.2 42% 8.1 40% 8.0 2% 7.4 6% 7.3 ou antérieure 0% Nombre de votes: 48 |
TRACE de migration d'ORACLE vers POSTGRESQLTechnique - installation | TRACE de migration d'ORACLE vers POSTGRESQLPar maouth le 26/06/2006 - 16:18 "voila mes traces sur la migration d'oracle vers postgres si ca peu aider ;) " MIGRATION DâUNE BASE ORACLE VERS POSTGRES Transfert de la structure de donnĂ©es Un outil existe, ora2pg Solution retenue, ProblĂšmes rencontrĂ©s, -Le code gĂ©nĂ©rĂ© par TOAD pour les clĂ©s primaires nâest pas Ă la norme Transfert des donnĂ©es On a TransfĂ©rĂ© les donnĂ©es de la mĂȘme façon grĂące au code SQL, la mĂ©thode est dĂ©crite dans la documentation de postgresql plusieurs solutions sont possible : ProblĂšmes rencontrĂ©s MĂ©thode Ă suivre avec psql : >psql âU [superuser] âH[hote] [base de donnĂ©es] Transfert des fonctions et procĂ©dures PL/SQL vers PL/pgSQL Cette partie est la moins compatible et la plus longue. Lâoutil ora2pg ne fait pas la conversion. Solution retenue ProblĂšmes rencontrĂ©s : (1) lors de la dĂ©claration de fonction : -Les types de donnĂ©es retournĂ©es sont dĂ©clarĂ©s par RETURNS -Les procĂ©dures nâexistent pas en pl/pgsql, elles sont remplacĂ©es par des fonctions qui ont pour type de retour void -Conversion des types de donnĂ©s oracles par des types normĂ©s SQL -Le âISâ dâoracle pour dĂ©clarer le corps de la fonction devient AS lors de la dĂ©claration du code pl/pgsql de la fonction -Le corps du code pl/pgsql est dĂ©fini entre deux doubles dollars - Comme il existe dâautres langages gĂ©rĂ©s par postgresql on doit spĂ©cifier le langage utilisĂ© par une dĂ©claration LANGUAGE 'plpgsql' ; aprĂšs les deux doubles dollars de la fin du corps. (2) lors de la dĂ©claration du corps de la fonction : -toutes les variables utilisĂ©es doivent ĂȘtre dĂ©clarĂ©es avant le dĂ©but de BEGIN et doivent ĂȘtre prĂ©cĂ©dĂ©es par DECLARE -les appels de fonctions ne sont pas implicite il faut les appeler avec le mot rĂ©servĂ© PERFORM -les fonctions de conversions prennent un deuxiĂšme paramĂštre, dĂ©finissent le format dâentrer. LES CURSEURS : -Les curseurs ne doivent pas ĂȘtre dĂ©clarĂ© aprĂšs la balise DECLARE mais Ă lâouverture du curseur. Afin dâĂ©viter lors dâappel successif de procĂ©dures de lancer une erreur si deux curseurs ont le mĂȘme nom. DECLARE ⊠Lors de lâouverture dâun curseur code oracle: -Les dĂ©clarations des variables dâenregistrement doivent ĂȘtre remplacĂ©es de la façon suivante : LES FETCH s: |
|||
© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.