将数据从 iSeries 移动到 DB2 Express?
Move data from iSeries to DB2 Express?
我们需要将数据库从 DB2 for i (iSeries AS/400) 迁移到 DB2 Express。我们无法访问由不同公司管理的 iSeries,因此直接 ODBC/JDBC 连接不是一个选项。我们需要他们将他们的架构和数据导出为我们可以在此处导入的格式。
到目前为止,他们已经向我们发送了一组字段定义文件 (*.FDF),但我还不知道如何使用它们(在此处快速学习 DB2)。
我已经熟悉 db2move
、db2look
和 db2relocate
,但这些实用程序在 iSeries 上不可用。拥有 iSeries 的团队宁愿不必购买 IBM 的 DB Connect 产品,如果可以避免的话,尽管这可能是可以协商的。
如果有帮助,我们将只从我们的 DB2 Express 实例中读取数据,因此我们不必担心迁移触发器或类似行为。
我觉得这应该是一个简单的网络搜索,但我已经搜索了一个上午,但没有取得任何进展。看来 iSeries 本身就是一个世界!
IBM i(又名 AS/400 又名 iSeries)是它自己的世界...主要是因为它的起源早于 SQL。此外,数据库深深地嵌入到 OS 中。
话虽如此,它可以说是最符合 SQL 标准的数据库之一。假设 OS 的版本相对较新并且具备现代技能,这项任务应该不会那么困难。您可能会听到一些您不熟悉的术语,但它们是等同的。
数据库 = 数据库
库 = 架构
物理文件 = Table
逻辑文件 = 索引 and/or 视图
FDF文件?是不是长这样:
[Data Transfer File Description]
FieldCount=13
FileType=1
Version=2
[Options]
DateFormat=1
DateSep=1
DcmlSep=1
TimeFormat=1
TimeSep=1
[F0001]
Length=7
Name=ITEM
Type=1
[F0002]
Length=30
Name=IDESCR
Type=1
这是为 IBM i Access(又名客户端访问)数据传输实用程序设计的....可能对您没有多大用处。
IBM i Access 的另一部分称为 IBM i Navigator,基本上是进入 OS 的 GUI 界面。在导航树中有一个节点,Databases。大多数 IBM i 系统只定义了一个数据库。在 DB 下是 Schemas 的节点。默认情况下,仅显示架构的一个子集。您可以右键单击要显示的数据库和 select 模式。模式下面是一个节点,Tables。可以右击Tables节点,select生成SQL
生成的SQL DLL可以放在不同的地方,包括本地PC文件。请注意选项选项卡,您可以在 ANSI/ISO 和 DB2(带有或 w/o 扩展名)之间进行选择。
这为您提供了所有 table 的 SQL DDL。您实际上可以一次为整个模式生成 SQL DDL。但就您的目的而言,table 可能就足够了。假设一个较旧的应用程序,可能有非 SQL 触发器、约束和 views/indexes。特别是,显示的大多数 "views" 实际上是 DDS 定义的键控逻辑文件。但在 SQL 世界中,无法对视图进行键控。
最后,关于数据导出。看看 . Copy to Import File (CPYTOIMPF) command 将数据从 table 导出到集成文件系统 (IFS) 中的固定或分隔流文件
编辑
如果你能直接连接到系统,你会过得更好。甚至可能利用 IBM Data Movement Tool (MTK)
我们需要将数据库从 DB2 for i (iSeries AS/400) 迁移到 DB2 Express。我们无法访问由不同公司管理的 iSeries,因此直接 ODBC/JDBC 连接不是一个选项。我们需要他们将他们的架构和数据导出为我们可以在此处导入的格式。
到目前为止,他们已经向我们发送了一组字段定义文件 (*.FDF),但我还不知道如何使用它们(在此处快速学习 DB2)。
我已经熟悉 db2move
、db2look
和 db2relocate
,但这些实用程序在 iSeries 上不可用。拥有 iSeries 的团队宁愿不必购买 IBM 的 DB Connect 产品,如果可以避免的话,尽管这可能是可以协商的。
如果有帮助,我们将只从我们的 DB2 Express 实例中读取数据,因此我们不必担心迁移触发器或类似行为。
我觉得这应该是一个简单的网络搜索,但我已经搜索了一个上午,但没有取得任何进展。看来 iSeries 本身就是一个世界!
IBM i(又名 AS/400 又名 iSeries)是它自己的世界...主要是因为它的起源早于 SQL。此外,数据库深深地嵌入到 OS 中。
话虽如此,它可以说是最符合 SQL 标准的数据库之一。假设 OS 的版本相对较新并且具备现代技能,这项任务应该不会那么困难。您可能会听到一些您不熟悉的术语,但它们是等同的。
数据库 = 数据库
库 = 架构
物理文件 = Table
逻辑文件 = 索引 and/or 视图
FDF文件?是不是长这样:
[Data Transfer File Description]
FieldCount=13
FileType=1
Version=2
[Options]
DateFormat=1
DateSep=1
DcmlSep=1
TimeFormat=1
TimeSep=1
[F0001]
Length=7
Name=ITEM
Type=1
[F0002]
Length=30
Name=IDESCR
Type=1
这是为 IBM i Access(又名客户端访问)数据传输实用程序设计的....可能对您没有多大用处。
IBM i Access 的另一部分称为 IBM i Navigator,基本上是进入 OS 的 GUI 界面。在导航树中有一个节点,Databases。大多数 IBM i 系统只定义了一个数据库。在 DB 下是 Schemas 的节点。默认情况下,仅显示架构的一个子集。您可以右键单击要显示的数据库和 select 模式。模式下面是一个节点,Tables。可以右击Tables节点,select生成SQL
生成的SQL DLL可以放在不同的地方,包括本地PC文件。请注意选项选项卡,您可以在 ANSI/ISO 和 DB2(带有或 w/o 扩展名)之间进行选择。
这为您提供了所有 table 的 SQL DDL。您实际上可以一次为整个模式生成 SQL DDL。但就您的目的而言,table 可能就足够了。假设一个较旧的应用程序,可能有非 SQL 触发器、约束和 views/indexes。特别是,显示的大多数 "views" 实际上是 DDS 定义的键控逻辑文件。但在 SQL 世界中,无法对视图进行键控。
最后,关于数据导出。看看 . Copy to Import File (CPYTOIMPF) command 将数据从 table 导出到集成文件系统 (IFS) 中的固定或分隔流文件
编辑 如果你能直接连接到系统,你会过得更好。甚至可能利用 IBM Data Movement Tool (MTK)