楼主: myfriend2010

[精华] Db2 文件导入导出常见命令总结

[复制链接]
论坛徽章:
5
2009日食纪念
日期:2009-07-22 09:30:00祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:08:29ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
11#
发表于 2008-8-12 13:58 | 只看该作者

回复 #10 myfriend2010 的帖子

我知道, 但记事本也可以打开, 看得详细写

用户给我的文件是xsl , 我另存为csv , 然后用记事本打开看看有没有异常的符号

使用道具 举报

回复
招聘 : Linux运维
论坛徽章:
235
紫蜘蛛
日期:2007-09-26 17:05:46玉兔
日期:2007-09-26 17:05:05现任管理团队成员
日期:2011-05-07 01:45:08玉兔
日期:2006-08-29 20:38:48紫蜘蛛
日期:2007-09-26 17:05:34阿斯顿马丁
日期:2013-11-19 10:38:16奔驰
日期:2013-10-16 09:08:58红旗
日期:2014-01-09 11:57:39路虎
日期:2013-08-13 14:52:35林肯
日期:2015-05-19 13:01:16
12#
 楼主| 发表于 2008-8-12 14:06 | 只看该作者
噢,那不是异常的符号,那是db2导出字段的分隔符号,那你有必要在你的文件中增加下了,字符串用""列分隔用,

试下看行不?

使用道具 举报

回复
论坛徽章:
12
开发板块每日发贴之星
日期:2005-05-15 01:02:09ERP板块每日发贴之星
日期:2010-05-29 01:01:01生肖徽章2007版:鼠
日期:2009-03-10 21:26:28生肖徽章2007版:虎
日期:2008-11-19 08:08:16ERP板块每日发贴之星
日期:2008-11-18 01:01:03生肖徽章2007版:狗
日期:2008-11-17 20:21:29ERP板块每日发贴之星
日期:2008-11-16 01:01:04奥运会纪念徽章:乒乓球
日期:2008-08-12 22:18:43授权会员
日期:2008-02-29 10:22:07生肖徽章2007版:虎
日期:2008-02-28 21:02:13
13#
发表于 2008-8-12 16:36 | 只看该作者
原帖由 Germin 于 2008-8-12 13:03 发表
感动      好详细 !!!

  我用的是IMPORT导入 ,  和LOAD 有什么区别?
  
  我的csv文件略有不同, 用记事本打开, 每个字段没有双引号,  你的有.   如: "a1","b1"   a1,b1




上面讲的关于这两种导入方法很详细啊


多谢啦

使用道具 举报

回复
论坛徽章:
12
开发板块每日发贴之星
日期:2005-05-15 01:02:09ERP板块每日发贴之星
日期:2010-05-29 01:01:01生肖徽章2007版:鼠
日期:2009-03-10 21:26:28生肖徽章2007版:虎
日期:2008-11-19 08:08:16ERP板块每日发贴之星
日期:2008-11-18 01:01:03生肖徽章2007版:狗
日期:2008-11-17 20:21:29ERP板块每日发贴之星
日期:2008-11-16 01:01:04奥运会纪念徽章:乒乓球
日期:2008-08-12 22:18:43授权会员
日期:2008-02-29 10:22:07生肖徽章2007版:虎
日期:2008-02-28 21:02:13
14#
发表于 2008-8-12 16:55 | 只看该作者
我要开拍了:
关于Export

这个其实比较简单,没啥好说的,一般命令:export to filename of filetype select x from xx where ;就ok了,这里需要注意的是:
1.        关于不同字符集的导出
MODIFIED BY CODEPAGE=
Exprot to filename.del for del MODIFIED BY   CODEPAGE=1386 select … from …where …;
这里,在数据从数据库倒出来的时候就会做一个数据库代码页的转换
2.时间字段格式化的
MODIFIED BY  TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt"
例:Exprot to filename.del for del MODIFIED BY  TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select … from …where …;


上面的句子中的for要换忆of


不然,跑不了

使用道具 举报

回复
论坛徽章:
12
开发板块每日发贴之星
日期:2005-05-15 01:02:09ERP板块每日发贴之星
日期:2010-05-29 01:01:01生肖徽章2007版:鼠
日期:2009-03-10 21:26:28生肖徽章2007版:虎
日期:2008-11-19 08:08:16ERP板块每日发贴之星
日期:2008-11-18 01:01:03生肖徽章2007版:狗
日期:2008-11-17 20:21:29ERP板块每日发贴之星
日期:2008-11-16 01:01:04奥运会纪念徽章:乒乓球
日期:2008-08-12 22:18:43授权会员
日期:2008-02-29 10:22:07生肖徽章2007版:虎
日期:2008-02-28 21:02:13
15#
发表于 2008-8-12 21:19 | 只看该作者
又发现一问题:

关于Load

1. 字符串间隔,列间隔,小数点表示

CHARDEL/COLDEL/DECPT
例:LOAD CLIENT FROM 'F:s1.del' OF DEL MODIFIED BY CHARDEL(COLDEL=   DECPT?  INSERT INTO "DB2ADMIN"."ZXTABLES"

上面有一个问号“?”,为何要有一个问号呢?

不明白,它代表什么啊?




2、
C:>DB2 LOAD CLIENT FROM DD.DEL OF DEL INSERT INTO FAC1.ORDER C
OPY YES
SQL0104N  在 "YES" 之后发现意外的标记 "语句结束"。期望的标记可能包括:"USE"。
SQLSTATE=42601

上面名也可能有问题


我再看看书先

[ 本帖最后由 lovelyman_gold 于 2008-8-12 22:17 编辑 ]

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
16#
发表于 2008-8-12 21:33 | 只看该作者
呵呵,人家细微的打字错误就不要深究了嘛,关键是意思领悟了就好^_^本来学习这东西就是悟其神而忘其型,语法的东西查文档就好

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
114
SQL数据库编程大师
日期:2013-12-06 13:59:43萤石
日期:2013-12-06 15:50:21ITPUB元老
日期:2007-09-25 17:05:532011数据库大会纪念章
日期:2015-04-23 10:33:192010数据库技术大会纪念徽章
日期:2015-04-23 10:33:19喜羊羊
日期:2015-03-24 13:02:282015年新春福章
日期:2015-03-06 11:57:31喜羊羊
日期:2015-03-04 14:49:39马上有房
日期:2015-01-22 17:30:45马上加薪
日期:2014-12-25 08:48:51
17#
发表于 2008-8-12 22:08 | 只看该作者
看不懂,顶

使用道具 举报

回复
论坛徽章:
12
开发板块每日发贴之星
日期:2005-05-15 01:02:09ERP板块每日发贴之星
日期:2010-05-29 01:01:01生肖徽章2007版:鼠
日期:2009-03-10 21:26:28生肖徽章2007版:虎
日期:2008-11-19 08:08:16ERP板块每日发贴之星
日期:2008-11-18 01:01:03生肖徽章2007版:狗
日期:2008-11-17 20:21:29ERP板块每日发贴之星
日期:2008-11-16 01:01:04奥运会纪念徽章:乒乓球
日期:2008-08-12 22:18:43授权会员
日期:2008-02-29 10:22:07生肖徽章2007版:虎
日期:2008-02-28 21:02:13
18#
发表于 2008-8-12 22:09 | 只看该作者
看来狼还是挺有度量的嘛

不过我有些看不明那些语法,我再读读看

使用道具 举报

回复
论坛徽章:
12
开发板块每日发贴之星
日期:2005-05-15 01:02:09ERP板块每日发贴之星
日期:2010-05-29 01:01:01生肖徽章2007版:鼠
日期:2009-03-10 21:26:28生肖徽章2007版:虎
日期:2008-11-19 08:08:16ERP板块每日发贴之星
日期:2008-11-18 01:01:03生肖徽章2007版:狗
日期:2008-11-17 20:21:29ERP板块每日发贴之星
日期:2008-11-16 01:01:04奥运会纪念徽章:乒乓球
日期:2008-08-12 22:18:43授权会员
日期:2008-02-29 10:22:07生肖徽章2007版:虎
日期:2008-02-28 21:02:13
19#
发表于 2008-8-13 15:16 | 只看该作者
俺 把这个全试了一遍
http://www.itpub.net/viewthread. ... p;extra=&page=1
, 我的DB2就成这样了:
C:dbIBMSQLLIBBIN>db2 insert into fac1.log1 values('2','3')
DB21034E  该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0290N  不允许存取表空间。  SQLSTATE=55039


日志里成这样了:
2008-08-13-15.06.05.036000+480 E6600379H382       LEVEL: Warning
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgArchiveLogFile, probe:3150
MESSAGE : ADM1848W  Failed archive for log file "S0000000.LOG" to "USEREXIT"
          from "DB2NODE0000SQL00003SQLOGDIR".

2008-08-13-15.06.05.036000+480 I6600763H375       LEVEL: Error
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgArchiveLogFile, probe:3160
MESSAGE : Failed to archive log file S0000000.LOG to USEREXIT from
          DB2NODE0000SQL00003SQLOGDIR with rc = 1.

2008-08-13-15.06.05.046000+480 I6601140H303       LEVEL: Warning
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgArchiveLogFile, probe:3108
MESSAGE : Started archive for log file S0000000.LOG.

2008-08-13-15.06.05.487000+480 E6601445H462       LEVEL: Error
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgInvokeUserexit, probe:1550
MESSAGE : ADM1833E  The user exit program returned an error when archiving log
          file "S0000000.LOG" from "C:dbIBMSQLLIBloglog_ap1NODE0000" for
          database "AP1".  The error code was "1".

2008-08-13-15.06.05.517000+480 E6601909H386       LEVEL: Warning
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgArchiveLogFile, probe:3150
MESSAGE : ADM1848W  Failed archive for log file "S0000000.LOG" to "USEREXIT"
          from "C:dbIBMSQLLIBloglog_ap1NODE0000".

2008-08-13-15.06.05.517000+480 I6602297H379       LEVEL: Error
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgArchiveLogFile, probe:3160
MESSAGE : Failed to archive log file S0000000.LOG to USEREXIT from
          C:dbIBMSQLLIBloglog_ap1NODE0000 with rc = 1.

2008-08-13-15.06.05.527000+480 I6602678H368       LEVEL: Warning
PID     : 2676                 TID  : 3676        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000
FUNCTION: DB2 UDB, data protection, sqlpgRetryFailedArchive, probe:4780
MESSAGE : Still unable to archive log file 0 due to rc 1 for LOGARCHMETH1 using
          method 4 and target .




这是什么原因啊?

我要如何使这个DB2正常啊?

使用道具 举报

回复
招聘 : Linux运维
论坛徽章:
235
紫蜘蛛
日期:2007-09-26 17:05:46玉兔
日期:2007-09-26 17:05:05现任管理团队成员
日期:2011-05-07 01:45:08玉兔
日期:2006-08-29 20:38:48紫蜘蛛
日期:2007-09-26 17:05:34阿斯顿马丁
日期:2013-11-19 10:38:16奔驰
日期:2013-10-16 09:08:58红旗
日期:2014-01-09 11:57:39路虎
日期:2013-08-13 14:52:35林肯
日期:2015-05-19 13:01:16
20#
 楼主| 发表于 2008-8-13 15:52 | 只看该作者
原帖由 lovelyman_gold 于 2008-8-12 16:55 发表
我要开拍了:
关于Export

这个其实比较简单,没啥好说的,一般命令:export to filename of filetype select x from xx where ;就ok了,这里需要注意的是:
1.        关于不同字符集的导出
MODIFIED BY CODEPAGE=
Exprot to filename.del for del MODIFIED BY   CODEPAGE=1386 select … from …where …;
这里,在数据从数据库倒出来的时候就会做一个数据库代码页的转换
2.时间字段格式化的
MODIFIED BY  TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt"
例:Exprot to filename.del for del MODIFIED BY  TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select … from …where …;


上面的句子中的for要换忆of


不然,跑不了




恩,这个确实笔误!!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表