导入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,请确认该文件的编码格式为
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)
下面详细解读该语句:
lLoad Client from 说明是从客户端导入文件,如果是直接在数据服务器上执行,则去掉Client
lOF DEL,del 是delimeter的缩写,意为以指定的标点符号作为栏位之间的分割,而不是栏位的长度是固定的
lCODEPAGE, 指明csv文件的编码
lChardel,标明字符串栏位以什么字符作为起始标志,此处说明是以双引号括起来
lCOLDEL,标明栏位之间的间隔符号,此处说明是以逗号作为栏位的分隔符
lMETHOD P,说明是按照栏位的序号,来定位需要导入的栏位数据,
METHOD L,说明是按照栏位在CSV文件中固定的起始位置,例如
METHOD P(001 020,022 030,032 045,047 100)
lINSERT INTO,指明插入到哪一张表及对应的字段
7)去掉标题头栏位
Delete from test where col1 =’申报单号’ and COL2=’申报日期’
8)检验导入是否成功
SELECT * FROM TEST FETCH FIRST 5 ROWS ONLY