首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云上DB2导出/导入用于DB2的DEL命令

云上DB2导出/导入用于DB2的DEL命令
EN

Stack Overflow用户
提问于 2022-03-15 21:53:28
回答 1查看 623关注 0票数 0

我需要将数据从DB2表导出为文本格式,然后将IBM (又名S3)文件存储中的文件导入到云上的DB中。

有关资料详情如下:

  • UTF-8
  • Data类型:时间戳、字符串(在 =>多行内有新行)、数字、浮动
  • No CLOB或BLOB

我应该使用什么导出和导入命令?

我试过了

出口

代码语言:javascript
复制
db2 EXPORT TO table1.del OF DEL modified by codepage=1208 SELECT * FROM table1

表1.del的第一行

代码语言:javascript
复制
"blah",6,"1",766,"Y","blah","2022-01-24-08.53.09.000000","blah","3,766",1

Import

代码语言:javascript
复制
INSERT INTO table1 FROM EXTERNAL 'table1.del' USING
  (CCSID 1208 s3('s3.xxxxxx.cloud',
  's3-access-key-id',
  's3-secret-access-key',
  'bucket-name')
  ) 

它找到了文件,但在文件处理过程中出现了错误(看起来Import试图获取整个第一行并插入到第一列中。指定fillRecord选项没有帮助):

代码语言:javascript
复制
bad #: input row #(byte offset to last char examined) [field #, declaration] diagnostic, "text consumed"[last char examined]
-----------------------------------------------------------------------------
1: 1(182)[1, VARCHAR(256)] missing field - fillRecord not enabled, ""blah",6,"1",766,"Y","blah","2022-01-24-08.53.09.000000","blah","3,766",1"[1]

负载

代码语言:javascript
复制
CALL SYSPROC.ADMIN_CMD('IMPORT from "S3::s3.xxxxxx.cloud::s3-access-key-id::s3-secret-access-key::bucket-name::table1.del" OF DEL modified by codepage=1208 
 INSERT into TABLE1 ')


FAILED [Code: -2062, SQL State:      ]  An error occurred while accessing media "DB2REMOTE".  Reason code: "0x870f01bb".. SQLCODE=-2062, SQLSTATE=     , DRIVER=4.25.1301  

附加问题:

  1. 可以从S3存储加载IXF文件吗?还是只支持TXT文件格式?

  1. I也试图像这里所描述的那样对DB2存储进行编目,但是列表存储访问没有提供任何信息,并且

调用SYSPROC.ADMIN_CMD(‘从db2emote加载://桶名-别名//table1.ixf的IXF插入到table1');

返回:

代码语言:javascript
复制
    FAILED  [Code: -1652, SQL State:      ]  File I/O error occurred.. SQLCODE=-1652, SQLSTATE=     , DRIVER=4.25.1301  
EN

回答 1

Stack Overflow用户

发布于 2022-03-18 07:24:01

最后我设法

代码语言:javascript
复制
    INSERT INTO table1 FROM EXTERNAL ....

详细信息:

  1. 导入的DEL文件应该只有EOL - LF,而不是LF-CR;

定义为空字符串的

  1. 空值;

  1. 柱的干度计- TAB;

  1. CSV文件有头字符串,因此添加了跳过1行选项;

  1. 在导入命令中添加了一些选项:

从外部“table1.csv”使用(CCSID 1208 s3(‘s3.xxxxx.s3“)、’S3-访问-密钥-id‘、’S3-秘密访问-访问-键‘、’桶-名称‘)在s3中插入SELECT *(CCSID 1208 s3(’s3.xxxxxx.s3‘))

)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71489457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档