【发布时间】:2013-06-02 17:31:49
【问题描述】:
我们在 DB2 数据库中有一个包含大约 700 个表的模式 - 要求是将数据从这些表迁移到新模式中的表(在同一个数据库中),两个模式中的表具有几乎相同的名称。
由于以下两个因素,要求有点棘手:
- 新表格中的字段/列较少。
- 旧表具有所有 VARCHAR 字段,而新表具有特定的数据类型(DATE、DECIMAL、CLOB 等)
我们正在寻找在加载和卸载流之间转换数据以及在表之间映射列的解决方案。
谢谢!
【问题讨论】:
-
除了这两件事之外,它主要是从旧表到新表的一对一映射吗?此外,源表和目标表中的列名是否相同?如果是这样,阅读目录并吐出一个基本的脚本应该不难。
-
是的,表之间的映射始终是一对一的。列的名称并不完全相同 - 但是有一个单独的进程(应用程序)正在为我们创建新架构,我们正在尝试通过这个应用程序创建一些表来定义列之间的映射。
-
如果你有表对,你可以编写一个连接到数据库的程序,读取两个表的元数据,然后做你想做的事。例如,如果您想为记录少于 10K 的表生成 INSERT 语句,您的程序可以这样做……转换需要更改的字段格式。如果您想将数据写入输出文件,但只写入目标列,您可以这样做。等等。您的组织有 ODBC 或 JDBC 程序员吗?
-
感谢@Darius,这真的很有帮助!
标签: database db2 data-migration