【问题标题】:How to import table from PostgreSQL to SAP Hana?如何将表从 PostgreSQL 导入 SAP Hana?
【发布时间】:2019-12-02 10:19:49
【问题描述】:

我正在尝试从PostgreSQL 导出数据并将其导入SAP Hana。问题是 '\n',即换行符会自动从 TEXT 数据中删除。

例子:

A 1,750 word essay is 11 to 12 paragraphs.
A 2,000 word essay is 13 to 14 paragraphs.
A 2,500 word essay is 16 to 17 paragraphs.
A 3,000 word essay is 20 paragraphs.

变成了

A 1,750 word essay is 11 to 12 paragraphs.A 2,000 word essay is 13 to 14 paragraphs.A 2,500 word essay is 16 to 17 paragraphs.A 3,000 word essay is 20 paragraphs.

我正在使用以下命令:

PostgreSQL

\COPY table_name TO 'path\data.csv' WITH CSV DELIMITER ',';

IMPORT FROM CSV FILE path
INTO table_name
WITH RECORD DELIMITED BY '\n'
FIELD DELIMITED BY '\t'
OPTIONALLY ENCLOSED BY '"';

【问题讨论】:

    标签: postgresql hana postgresql-copy hana-sql-script


    【解决方案1】:

    要将\ 识别为escape character,必须使用文本格式。

    COPY table_name  from 'path\data.csv' delimiter ',' TEXT
    

    来源: Postgres COPY command with literal delimiter

    【讨论】:

    • 我的问题是从 PostgreSQL 导出。我在表格中有数据,文本字段中有换行符(\n)。它应该通过文本之间的换行符导出。那就是 \n 从 PostgreSQL 导出后将不存在
    • 没错,但是当我们使用复制命令进行复制时,它应该将\n理解为换行符,为此我们必须将其复制为TEXT,这样才能得到换行符在数据中,您是否尝试复制数据并检查数据如何?
    • 该命令不起作用 - 错误:对于类型字符变化 (3) 而言,值太长。我有一个带有“,”作为字段数据的字段的数据。这可能是原因。
    • 试试这个会用换行符导出,psql yourdatabase -c "COPY (SELECT * FROM table_to_export) TO STDOUT" > data.csv
    【解决方案2】:

    您可以使用DBeaver,而不是导出和导入 CSV 文件,它同时支持 SAP HANA 和 PostgreSQL。

    在 dbms 之间移动数据的指令可以在这里找到: https://dbeaver.com/docs/wiki/Data-migration

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      相关资源
      最近更新 更多