最近才开始接触DB2不久
发现做导出时,DB2只能一张表一张表的导出,而且写语句比较麻烦
有不有自动寻求某一个用户下所有表的导出脚本程序
麻烦贴一个出来,我好好学习一下
谢谢了!
------解决方案--------------------------------------------------------
试下db2move
.---------------------------.
V |
>>-db2move--dbname--action----+-----------------------+-+------><
+--tc-- table-creators ---+
+--tn-- table-names ------+
+--sn-- schema-names -----+
+--ts-- tablespace-names -+
+--tf-- filename ---------+
+--io-- import-option ----+
+--lo-- load-option ------+
+--l-- lobpaths ----------+
+--u-- userid ------------+
+--p-- password ----------+
'--aw-------------------'
------解决方案--------------------------------------------------------
- SQL code
--1:一次性导出数据表数据db2cmd db2move 数据库名称 export -u 用户 -p 密码--2:SELECT REPLACE(STR,'\''','\') FROM(SELECT 'EXPORT TO ''C:\'''||TABNAME||''' OF IXF SELECT * FROM '||TABNAME ||'; ' AS STR ,TABSCHEMA,TYPE FROM SYSCAT.TABLES ) AA WHERE TABSCHEMA='DB2INST2' AND TYPE='T' WITH UR
------解决方案--------------------------------------------------------
我写的就是自动的呀。。。两种方法都可以呀。。
------解决方案--------------------------------------------------------
用db2look 就可以了
------解决方案--------------------------------------------------------
我的环境没有问题(DB29.5),这应该环境没有关系,在QC下运行的
''' 表示'
执行下会生成下列类似的语句:
'EXPORT TO ''C:\BASE_ACADEMYD'' OF IXF SELECT * FROM BASE_ACADEMYD; '
'EXPORT TO ''C:\BASE_ADMISS'' OF IXF SELECT * FROM BASE_ADMISS; '
'EXPORT TO ''C:\BASE_AGIOTYPE'' OF IXF SELECT * FROM BASE_AGIOTYPE; '
然后把相应的''替换就OK了