首页 > 解决方案 > 将 csv 加载到 DB2 数据库

问题描述

我想问一下在将 csv 格式文件加载到 DB2 数据库时我的语法是否正确。我无法确认,因为我在本地配置 DB2 时遇到问题。我还想确认双引号的位置对于日期格式和时间格式都是正确的?

下面是我的代码片段。

LOGFILE=/mnt/bin/log/myLog.txt

db2 "load from /mnt/bin/test.csv of del modified by coldel noeofchar noheader dateformat=\"YYYY-MM-DD\" timeformat=\"HH:MM:SS\" usedefaults METHOD P(1,2,3,4,5) messages $LOGFILE insert_update into myuser.desctb(DESC_ID,START_DATE,START_TIME,END_DATE,END_TIME)"

标签: db2

解决方案


如果您使用modified by coldel,那么您还应该指定分隔符。如果分隔符确实是逗号,则省略coldel 选项。

另外insert_update是用于IMPORT命令(不是用于加载命令),但导入是一个记录操作,会降低插入吞吐量。您可以... replace into ...与 LOAD 命令一起使用。研究文档以获取详细信息。

引用似乎没问题,但格式的正确性取决于数据文件的值。

有关详细信息,请参阅LOAD文档,您应该研究此页面和相关页面。

LOAD 的替代方法是使用INGEST命令(在当前的 Db2 客户端中可用),它具有插入、替换、合并和其他选项,并且吞吐量很高(与导入相比)。


推荐阅读