DB2中导出大数据字段(BLOB或CLOB)信息时,使用工具(如 dbvis)导出的文本信息是乱码,因此需要另想它法。
在网上搜索了一些方法,成功实现BLOB字段信息的迁移,现将具体方法记录如下:
第一步:进入DB2命令行模式,连接到需要导入信息的表所有在的数据库。
命令:db2cmd db2 connect to db_name user username using password
第二步:输入导出命令。
db2 export to D:\blob_data\blob_table.txt of del lobs to D:\blob_data lobfile lob_doc modified by lobsinfile messages msg.out select * from blob_table
说明:上面红色部分可根据实际情况进行修改。
D:\blob_data\blob_table.txt 是导出文件的路径,blob_data是D盘下的一个文件夹,blob_table.txt是导出的数据文件。
select * from blob_table 用来指定需要导出的数据。
第三步:输入导入命令。
db2 import from D:\blob_data\blob_table.txt of del lobs from D:\blob_data modified by lobsinfile replace into blob_table
说明:上面红色部分可根据实际情况进行修改。
D:\blob_data\blob_table.txt 指定需要导入的数据文件所在的路径,blob_data是D盘下的一个文件夹,blob_table.txt是需要导入的数据文件(第二步导出的文件)。
replace into blob_table 表示要替换blob_table表中已经存在的值,这里也可以根据需要改为 insert into blob_table
该方法适合不同DB2版本LOB数据的迁移。
当然,普通数据直接使用工具导出就行了。
另外:DB2 V9.7对LOB数据的支持存在BUG,需要进行设置,具体方法参见:http://blog.csdn.net/wskuge/article/details/42420187