【问题标题】:Load period-separated text file into db2将句点分隔的文本文件加载到 db2
【发布时间】:2015-02-26 02:30:45
【问题描述】:

我需要将整个文本文件(仅包含 ASCII 文本)加载到数据库中(DB2 Express ed.)。该表只有两列EXAMPLE_TABLE(ID,TEXT)。 ID 列是PK,自动生成数据,而文本是VARCHAR(50)

现在我需要使用加载/导入实用程序将文本面中的每个句子保存到EXAMPLE_TABLE 中,也就是说,每个句子都有一行。 row-id 应该是自动生成的,但是已经在表创建时指定了。导入实用程序应考虑句点“.”。作为分隔符(否则我不知道如何提取句子)。

如何在 DB2 中做到这一点?

提前致谢!

【问题讨论】:

    标签: db2 db2-luw


    【解决方案1】:

    使用分隔文件时,标准 DB2 importload 实用程序无法指定行记录终止符。 LF 字符(或 Windows 上的 CRLF)是唯一可以使用的记录终止符。

    因此,您需要对文件进行预处理(用换行符替换每个句点 (.) 或在每个句点后插入一个换行符),然后才能使用 importload,从而导致每个句子单独一行的文件。

    您可以使用tr

    cat file | tr '.' '\n' > file.load
    db2 "import from file.load of del insert into example_table (text)"
    

    请记住,您可能还需要考虑句号之后的空格,因此您不会在表格中每个“句子”的开头使用前导空格,并且您可能还需要考虑额外的空格(即每个段落之间的空行)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多