导入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