导入csv文件
1) 打开DB2 命令行
2) 如果是第一次连接到远程的DB2 数据库;如果不是,请直接跳转到3)
在DB2 命令行窗口执行:
catalog tcpip node DB21 remote 10.22.140.226 server 50000
CATALOG DATABASE SAFEMON as SAFEMON at NODE DB21
3) 连接到远程的DB2 数据库, 在DB2 命令行窗口执行:
Connect to SAFEMON USER db2admin using test@1234
4) 如果导入的文件还没有为其创建响应数据表,在DB2 命令行窗口执行:
CREATE TABLE TEST(COL1 VARCHAR(50), COL2 VARCHAR(50), COL3 VARCHAR(100), COL4 VARCHAR(50))
5) 导入的CSV文件内容参见文件excel_template.csv,请确认该文件的编码格式为UTF-8
6) 执行导入命令(注意该语句没有换行的),在DB2 命令行窗口执行:
LOAD client FROM 'F:\excel_template.csv' OF del MODIFIED BY codepage=1208 chardel"" COLDEL0x2c METHOD P (1,2,3,4) INSERT INTO TEST( col1,col2,col3,col4)
下面详细解读该语句:
l Load Client from 说明是从客户端导入文件,如果是直接在数据服务器上执行,则去掉Client 关键词
l OF DEL,del 是delimeter的缩写,意为以指定的标点符号作为栏位之间的分割,而不是栏位的长度是固定的
l CODEPAGE, 指明csv文件的编码
l Chardel,标明字符串栏位以什么字符作为起始标志,此处说明是以双引号括起来
l COLDEL,标明栏位之间的间隔符号,此处说明是以逗号作为栏位的分隔符
l METHOD P,说明是按照栏位的序号,来定位需要导入的栏位数据,
另外有METHOD L, 说明是按照栏位在CSV 文件中固定的起始位置,例如
METHOD P(001 020,022 030,032 045,047 100)
l INSERT INTO,指明插入到哪一张表及对应的字段
7) 去掉标题头栏位
Delete from test where col1 =’申报单号’ and COL2=’申报日期’
8) 检验导入是否成功
SELECT * FROM TEST FETCH FIRST 5 ROWS ONLY