网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.AIX环境下实现DB2向Windows 2000.
.DB2 Spatial Extender 性能调优(.
.个人经验总结:DB2数据库技术关键.
.教你快速掌握IBM DB2数据库的性能.
.用su命令到db2admin用户时报错的.
.DB2中游标的使用方法以及存储过程.
.关于DB2 9数据库优点及缺点详细分.
.DB2中出现SQL1032N错误现象时的解.
.教你在AIX上安装IBM DB2 9版本的.
.DB2 实用程序介绍之LOAD实用程序.
.DB2 Web 服务提供者的安全性(3)(.
.并行方式处理DB2 for iSeries索引.
.在DB2环境中创建DB2数据库.
.快速解决DB2创建存储过程时所遇到.
.DB2中创建一个获取汉字拼音首字母.
.为什么修改机器名后DB2实例会无法.
.带你深入了解IBM DB2数据库的备份.
.DB2 实用程序介绍之数据移动实用.
.DB2 Web 服务提供者的安全性(1).
.全面了解DB2数据库中的各数据类型.

IBM DB2 数据复制迁移方法

发表日期:2008-2-9


  背景:需要更改数据库表空间,或者需要将数据库中所有表的数据迁移到一个新的数据库中。  步骤:  1.通过db2控制台(db2cc)选中源数据库中的所有表,将其导出成DDL脚本;  2.根据需要对脚本进行必要的修改,譬如更改表空间为GATHER;  3.新建数据库,新建DMS表空间:GATHER;  4.将DDL脚本在此数据库中执行;  5.编写代码查询源数据库中的所有表,自动生成export脚本;  6.编写代码查询源数据库中的所有表,自动生成import脚本;  7.连接源数据库执行export脚本;  8.连接目标数据库执行import脚本;  附录1:生成export脚本代码示例:  /**
  * 创建导出脚本
* @param conn
* @param creator 表创建者
* @param filePath
*/
* 创建导出脚本
* @param conn
* @param creator 表创建者
* @param filePath
  
public void createExportFile(Connection conn,String creator,String filePath) throws Exception {
DBBase dbBase = new DBBase(conn);
String selectTableSql = "select name from sysibm.systables where creator = '" + creator + "' and type='T'";
  try {
dbBase.executeQuery(selectTableSql);
} catch (Exception ex) {
throw ex;
} finally {
dbBase.close();
}
  DBResult result = dbBase.getSelectDBResult();
List list = new ArrayList();
while (result.next()) {
String table = result.getString(1);
list.add(table);
}
StringBuffer sb = new StringBuffer();
String enterFlag = "
";
for (int i = 0; i < list.size();i++) {
String tableName = (String)list.get(i);
sb.append("db2 "export to aa" + String.valueOf(i+1)+ ".ixf of ixf select * from " + tableName + """);
sb.append(enterFlag);
}
String str = sb.toString();
FileUtility.saveStringToFile(filePath, str, false);
  }
  附录2:生成import脚本代码示例/**
* 创建装载脚本
* @param conn
* @param creator 表创建者
* @param filePath
*/
public void createLoadFile(Connection conn,String creator,String filePath) throws Exception {
DBBase dbBase = new DBBase(conn);
String selectTableSql = "select name from sysibm.systables where creator = '" + creator + "' and type='T'";
try {
dbBase.executeQuery(selectTableSql);
} catch (Exception ex) {
throw ex;
} finally {
dbBase.close();
}
DBResult result = dbBase.getSelectDBResult();
List list = new ArrayList();
while (result.next()) {
String table = result.getString(1);
list.add(table);
}
StringBuffer sb = new StringBuffer();
String enterFlag = "
";
for (int i = 0; i < list.size();i++) {
String tableName = (String)list.get(i);
sb.append("db2 "load from aa" + String.valueOf(i+1)+ ".ixf of ixf into " + tableName + " COPY NO without prompting "");
sb.append(enterFlag);
}
String str = sb.toString();
FileUtility.saveStringToFile(filePath, str, false);
}
  附录3:export脚本示例  db2connecttotestdbusertestpasswordtest
  db2"exporttoaa1.ixfofixfselect*fromtable1"
  db2"exporttoaa2.ixfofixfselect*fromtable2"
  db2connectreset
  附录4:import脚本示例  db2connecttotestdbusertestpasswordtest
  db2"loadfromaa1.ixfofixfreplaceintotable1COPYNOwithoutprompting"
  db2"loadfromaa2.ixfofixfreplaceintotable2COPYNOwithoutprompting"
  db2connectreset
上一篇:使用 DB2 Change Management Expert 进行数据库版本控制(1) 人气:1037
下一篇:为 Linux 或 UNIX 版本 SAP 安装多个 DB2 9 数据库服务器(1) 人气:1280
浏览全部DB2教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐