基于DB2及PHP的应用系统跨平台迁移详细步骤(二)
2010-07-07 15:01:17 来源:WEB开发网5.处理数据库表中的自增字段
对于需要加载的含有自增字段的表,即该表的 ixf 数据文件中有自增列的值, 可以在 load 命令中加入如下参数控制自增字段值:
1). modified by identityignore :加载的数据文件中有自增字段值,load 时忽略数据文件中自增字段值 ;
2). modified by identitymissing :加载的数据文件中没有自增字段值,load 时自动生成自增字段值 ;
3). modified by identityoverride :加载的数据文件中有自增字段值,load 时使用数据文件中的自增字段值 。
为了使目标数据库中含有自增字段的表中数据与源数据库中的数据保持一致,本文实例中选择使用 modified by identityoverride 参数,在导入数据时使用数据文件中的自增字段值。读者可以根据不同情况选择适当的控制参数。
首先,在 srcdb1_tables.ddl 文件中查找所有包自增字段的表名 ( 含有 GENERATED ALWAYS AS IDENTITY 字段的表 ),然后在 srcdb1_load.sql 中将 modified by identityoverride 语句片段插入到这些含有自增字段的表所对应的 load 命令行中。
清单8. load 脚本中自增字段处理
db2 load from test.ixf of ixf modified by identityoverride insert into TEST;
6.执行导出脚本
执行导出脚本,导出所有表的数据 。
# db2 -tvf srcdb1_export.sql
导出的表数据以 ixf 格式存放于当前路径下。
7.保存脚本和数据文件
将所有 DDL 脚本以及数据文件 *.ixf 复制到目标系统所在站点。
LINUX 系统上的操作
1.通过命令行处理器(CLP)创建实例 SRCDB1:
# db2icrt SRCDB1
2.使用 CREATE DATABASE 命令创建数据库 SRCDB1,创建必要的表空间及配置必要的数据库参数。
# db2 create database SRCDB1
3.连接到数据库 SRCDB1,执行 srcdb1_tables.ddl 脚本创建缓冲池,表空间,UDF,表以及 Index,Sequence,视图等数据库对象。
# db2 connect to srcdb1
# db2 -tvf srcdb1_tables.ddl
赞助商链接