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 04/01/2022 13:05:19

deckers
Membre

Ora2pg

Lorsque j'insere mes données dans les tables .
Message
psql:data.sql:46131: error: invalid command \N
Quand je regarde data.sql j'ai
copy avec des données /N
Un peu d'aide merci

Hors ligne

#2 04/01/2022 14:05:43

gleu
Administrateur

Re : Ora2pg

Quel commande utilisez-vous ?


Guillaume.

Hors ligne

#3 04/01/2022 14:37:48

deckers
Membre

Re : Ora2pg

ora2pg -t COPY -o data.sql -c fichier de conf ora2pg

Hors ligne

#4 04/01/2022 14:39:08

deckers
Membre

Re : Ora2pg

Et après \i data.sql

Hors ligne

#5 04/01/2022 14:41:49

deckers
Membre

Re : Ora2pg

Mon fichier data.sql contient des données \N
Exemple
COPY cb_cm_article (name,shortcut,etiquette,description,validity_start,validity_end,creator_id,creator_name,modifier_id,modifier_name,manager_id,manager_name) FROM STDIN;
Message - copie 21540af811400016        bandeau \N xxx xxx xxx xxx  \N
\.

Dernière modification par deckers (04/01/2022 14:42:14)

Hors ligne

#6 04/01/2022 15:54:12

gleu
Administrateur

Re : Ora2pg

\N indique seulement que le contenu de la colonne vaut NULL. Auriez-vous modifié le fichier data.sql ?


Guillaume.

Hors ligne

#7 04/01/2022 16:51:14

deckers
Membre

Re : Ora2pg

Non il faut mettre quoi

Hors ligne

#8 05/01/2022 03:30:22

rjuju
Administrateur

Re : Ora2pg

Le message "invalid command \N" indique que psql a interpreté le \N command une commande normale et non pas comme faisant partir d'une commande COPY.


Peut être que le fichier généré est invalide, quelle version d'ora2pg utilisez-vous?  Sinon, qu'y a-t-il à la ligne 46131 du fichier en question?

Hors ligne

#9 05/01/2022 09:04:09

deckers
Membre

Re : Ora2pg

J'utilise Ora2Pg v23.0

Hors ligne

#10 05/01/2022 22:23:44

dverite
Membre

Re : Ora2pg

psql:data.sql:46131: error: invalid command \N

Généralement cette erreur arrive après d'autres erreurs qui indiquent que la table n'a pas pu être créée, ou bien s'il est créée, que COPY ne peut pas écrire dedans (pas les droits, read-only, etc...)

A partir du moment où le COPY part en erreur, les données en dessous qui devaient être copiées dans la table sont prises comme des commandes et ça génère un déluge d'erreur. Il faut remonter au tout début des erreurs pour avoir les messages intéressants.

Hors ligne

#11 Aujourd'hui 05:42:49

pcouas
Membre

Re : Ora2pg

Bonjour,

Dans mon fichier de configuration, il semble que je doive avoir deux définitions identiques :

une première partie avec REPLACE_TABLES/REPLACE_COLS et une seconde partie avec SELECT AS

Ai-je fait une erreur ?

J'ai essayé de supprimer l'instruction REPLACE_COLS, mais j'obtiens une erreur. Il me semble que CTR_MTT AS NUMERO ne peut pas définir seul un nouveau nom de colonne ?

TYPE INSERT
DATA_ONLY 1

TABLES oracle_matable

REPLACE_TABLES oracle_matable:c2
les colonnes que l'on garde

COLUMNS c2:numero,version,date_maj,carte_active, user_maj,date_debut_droit,date_debut_carte
FROM oracle_matable a
Mapping des colonnes Oracle -> colonnes PostgreSQL

REPLACE_COLS oracle_matable(CTR_MTT:numero)

#Dans le select on redonne les noms !! (definition en double ?)
REPLACE_QUERY oracle_matable[
SELECT
a.CTR_MTT as numero,
a.CTR_DEB as date_debut_droit,
a.CTR_DEB as date_debut_carte,
CASE
WHEN a.CTR_ETA = 'A' THEN true
ELSE false
END AS carte_active,
a.CTR_IAM as user_maj,
a.CTR_IAM as media_maj,
a.CTR_IAMM as media_maj
FROM oracle_matable a
WHERE a.CTR_MTT ='12345678'

Hors ligne

#12 Aujourd'hui 05:46:07

pcouas
Membre

Re : Ora2pg

Bonjour,

J'ai un champ de date dans Oracle et je souhaite initialiser deux champs different dans la table postgres PostgreSQL.
Actuellement, j'utilise REPLACE_COLS, mais cela ne fonctionne pas. il y a un decalage qui se produit lors de l'INSERT
Une idee ? Merci

Cordialement, Philippe

Hors ligne

Pied de page des forums