PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 11/02/2022 10:37:30

ELGHYATI
Membre

Migration code package oracle vers postgresql

Bonjour,
Je cherche à migrer du code package oracle V.11g vers postgresql 14 .
Voilà ma config :

ORACLE_HOME    C:\app\ADMIN\product\11.2.0\dbhome_1
ORACLE_DSN    dbi:Oracle:host=localhost;sid=orcl2;port=1521
ORACLE_USER    TEST_MIGRATION
ORACLE_PWD    ******
PG_VERSION 14
USER_GRANTS 0
DEBUG 0
EXPORT_SCHEMA 0
SCHEMA TEST_MIGRATION
CREATE_SCHEMA 0
COMPILE_SCHEMA 0
EXPORT_INVALID 0
TYPE TABLE, PACKAGE, INSERT, PROCEDURE, FUNCTION, TRIGGER, SEQUENCE, VIEW, GRANT, MVIEW
DATA_LIMIT 150000
PG_DSN dbi:Pg:dbname=Data_test;host=localhost;port=5432
PG_USER postgres
PG_PWD *****
PRESERVE_CASE 0
BZIP2
GEN_USER_PWD 0
FKEY_DEFERRABLE 0
DEFER_FKEY 0
DROP_FKEY 0
DROP_INDEXES 0
PG_NUMERIC_TYPE 1
PG_INTEGER_TYPE 1
DEFAULT_NUMERIC bigint
KEEP_PKEY_NAMES 0
DISABLE_TRIGGERS 0
NOESCAPE 0
DISABLE_SEQUENCE 0
PLSQL_PGSQL 1
ORA_RESERVED_WORDS audit,comment
FILE_PER_CONSTRAINT 0
FILE_PER_INDEX 0
FILE_PER_TABLE 0
TRANSACTION serializable
PG_SUPPORTS_WHEN  1
PG_SUPPORTS_INSTEADOF 1
FILE_PER_FUNCTION 0
TRUNCATE_TABLE 0
FORCE_OWNER 0
STANDARD_CONFORMING_STRINGS 1
THREAD_COUNT        0
ALLOW_CODE_BREAK 1
JOBS 1
ORACLE_COPIES 1
PARALLEL_TABLES 1
ALLOW_CODE_BREAK 1
XML_PRETTY 0
DISABLE_COMMENT 0
USE_RESERVED_WORDS 0
PKEY_IN_CREATE 0
NULL_EQUAL_EMPTY 1
EXTERNAL_TO_FDW 1
ESTIMATE_COST 0
COST_UNIT_VALUE 5
DUMP_AS_HTML 0
STOP_ON_ERROR 1
TOP_MAX 10
ALLOW_PARTITION PARTNAME
USE_TABLESPACE 0
PG_SUPPORTS_MVIEW 1
REORDERING_COLUMNS 0
SYNCHRONOUS_COMMIT 0
PG_SUPPORTS_CHECKOPTION 0
AUTODETECT_SPATIAL_TYPE 1
CONVERT_SRID 1
DEFAULT_SRID 4326
GEOMETRY_EXTRACT_TYPE WKT
PREFIX_PARTITION 0
LOG_ON_ERROR 0
PG_SUPPORTS_IFEXISTS 1
WITH_OID 0
NO_LOB_LOCATOR 0
#USE_LOB_LOCATOR 0
ENABLE_BLOB_EXPORT 0
LONGREADLEN 50240000
BLOB_LIMIT 10
PG_SUPPORTS_PROCEDURE 1



Voilà la commande que j’ai utilisée :

C:\ora2pg\hrtest>ora2pg -p -t PACKAGE -o packages.sql -b schema/packages -c config/ora2pg.conf

Voilà résultat :

WARNING: NO_LOB_LOCATOR is deprecated, use USE_LOB_LOCATOR instead see documentation about the logic change.
[========================>] 0/0 packages (100.0%) end of output.
Fixing function calls in output files...

J’ai utilisé USE_LOB_LOCATOR avec la valeur 0 à la place de NO_LOB_LOCATOR avec la valeur 0.
Toujours même résultat.

Merci d’avance de votre aide.

Hors ligne

#2 11/02/2022 10:40:31

rjuju
Administrateur

Re : Migration code package oracle vers postgresql

Le message sur NO_LOB_LOCATOR n'est qu'un avertissement (pour le moment), il n'empêche pas le fonctionnement du programme.


Apparemment aucun package n'est trouvé sur la base oracle.  Avez-vous utilisé les bonnes informations de connexion ?

Hors ligne

#3 11/02/2022 11:04:01

ELGHYATI
Membre

Re : Migration code package oracle vers postgresql

Bonjour ,
Merci pour la reponse:
pour l'information :
j'ai 4 packages,
la connexion à la base de données oracle il marche ,j'ai importé les tables ,sequences,...et un seul package.
pour tester j'ai supprimer le package déjà importer pour voir importation des autres packages et j'ai recu le message suivant
WARNING: NO_LOB_LOCATOR is deprecated, use USE_LOB_LOCATOR instead see documentation about the logic change.
[========================>] 0/0 packages (100.0%) end of output.
Fixing function calls in output files...

Hors ligne

#4 11/02/2022 12:03:49

rjuju
Administrateur

Re : Migration code package oracle vers postgresql

Comme indiqué précédemment, êtes vous sur d'avoir les bonnes informations de connexion?  Vous pouvez utiliser l'option -d | --debug pour avoir plus de détail sur le traitement et voir pourquoi aucun package n'est trouvé.

Hors ligne

#5 11/02/2022 12:57:40

ELGHYATI
Membre

Re : Migration code package oracle vers postgresql

êtes vous sur d'avoir les bonnes informations de connexion?
Oui les informations de connexion correct.
Jai importé les tables , séquences , view,...sauf les packages il est importé un seul  package parmi 4 packages.

Hors ligne

#6 11/02/2022 13:08:11

ELGHYATI
Membre

Re : Migration code package oracle vers postgresql

Bonjour ,
SVP Comment ajouter  -d | --debug ?

Voilà ma commande
C:\ora2pg\hrtest>ora2pg -p -t -d | --debug PACKAGE -o packages.sql -b schema/packages -c config/ora2pg.conf

Hors ligne

#7 11/02/2022 16:01:41

gleu
Administrateur

Re : Migration code package oracle vers postgresql

Soit vous ajoutez -d soit vous ajoutez --debug, mais pas les deux et surtout pas le symbole indiquant un choix.


Guillaume.

Hors ligne

#8 14/02/2022 10:43:51

ELGHYATI
Membre

Re : Migration code package oracle vers postgresql

Bonjour,
j'utilise -d dans ma commande d'importation :
C:\ora2pg\hrtest>ora2pg -p -t -d PACKAGE -o packages.sql -b schema/packages -c config/ora2pg.conf
il ma donne erreur:
No Perl script found in input.

Merci pour votre aide.

Hors ligne

#9 14/02/2022 11:19:29

rjuju
Administrateur

Re : Migration code package oracle vers postgresql

Probablement parce que "-t -d" n'est pas une combinaison valide.  Vous devriez onsulter https://ora2pg.darold.net/documentation.html pour comprendre la signification des différentes options.

Hors ligne

#10 14/02/2022 16:27:44

ELGHYATI
Membre

Re : Migration code package oracle vers postgresql

Bonjour,
Voilà un autre erreur quand j'essaie d'importer package:

-- Nothing found of type PACKAGE
Can't call method "do" on an undefined value at C:/Strawberry/perl/site/lib/Ora2Pg.pm line 8253.
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Oracle::db handle (DESCRIPTION=(ADDRESS=(PORT=1521)(HOST=localhost)(PROTOCOL=tcp))(CONNECT_DATA=(SID=orcl2))) at C:/Strawberry/perl/site/lib/Ora2Pg.pm line 8253.

Hors ligne

#11 14/02/2022 17:57:24

rjuju
Administrateur

Re : Migration code package oracle vers postgresql

S'agit-il d'erreurs ou de messages de debug?  Ces messages apparaissent-ils si vous enlevez l'option -d ?


Quoi qu'il en soit, le programme dit bien qu'aucun package n'est trouvé.  De plus, quelle version d'ora2pg utilisez-vous ?  Ne connaissant rien à oracle, difficile de dire si cela peut venir de la configuration ou pas (par exemple mauvais utilisateur ou autre).  Je serais vous j'ouvrirais une issue sur le dépot github : https://github.com/darold/ora2pg

Hors ligne

Pied de page des forums