2017-09-29 1 views
0

J'ai une table dans Hsql DB que je migre maintenant vers Postgres. Pour cela, j'exporte un CSV (en utilisant SQLSquirrel) depuis Hsql et je l'importe dans Postgres en utilisant la commande COPY..FROM postgres.
J'ai un attribut de type VARBINARY dans la table hsql (appelons-le "attr1"), qui dans la table Postgres devient Type bytea. Supposons qu'une ligne ait la valeur attr1 comme \x00 dans hsqldb.HSQLDb vers PostgresDb Migration avec des données binaires

Le fichier CSV exporté contient la valeur 00. Mais après l'avoir importé dans Postgres, il est converti en \x3030 (en format hexadécimal). Pour l'importation CSV dans Postgres-je utiliser la commande comme:
\COPY <tablename> FROM 'Data.csv' DELIMITER ',' CSV HEADER;

Qu'est-ce que je manque? Comment puis-je resoudre ceci ?

Répondre

0

Utilisez le même programme pour exporter depuis HSQLDB et l'importer dans PostgreSQL.

L'outil HSQLDB SqlTool peut être utilisé à cette fin.

+0

Merci d'avance fredt. J'ai essayé d'utiliser SQLSquirrel pour importer le fichier CSV créé, mais j'ai obtenu l'erreur ERROR: column 'x' est de type smallint mais l'expression est de type caractère variant' sur la ligne 1 elle-même. – Pratham

+0

J'ai également essayé d'utiliser le SqlTool mais comme je l'ai mentionné, les données contiennent des données binaires, l'utilisation de l'outil donne 'Table a une colonne binaire. Les fichiers DSV sont des fichiers texte, pas binaires ,. La colonne binaire est pour laquelle je suis confronté à des problèmes. Toute autre chose que je dois vérifier? Apprécier ton aide. – Pratham