我们需要将数据库从DB2 for i(iSeries AS / 400)迁移到DB2 Express。我们无法访问由不同公司管理的iSeries,因此直接ODBC / JDBC连接不是一个选项。我们需要他们将他们的模式和数据导出为我们可以在这里导入的格式。
到目前为止,他们已经向我们发送了一组字段定义文件(* .FDF),但我还没有弄清楚如何使用它们(在这里学习DB2) )。
我已熟悉db2move
,db2look
和db2relocate
,但这些实用程序在iSeries上无法使用。拥有iSeries的团队宁愿不必购买IBM的DB Connect产品,如果可以避免的话,尽管这可能是可以协商的。
如果有帮助,我们只会从DB2 Express实例中读取数据,因此我们不担心迁移触发器或类似行为。
我觉得这应该是一个简单的网络搜索,但我整个早上一直在搜索,并且没有取得任何进展。看起来iSeries本身就是一个世界!
答案 0 :(得分:3)
IBM i(又名AS / 400又称iSeries)是它自己的世界......主要是因为它的起源早于SQL。此外,DB深深嵌入到操作系统中。
话虽如此,它可以说是最符合SQL标准的DB之一。假设操作系统的相对较新版本和现代技能组合,这项任务不应该那么困难。您可能会听到一些您不熟悉的术语,但也有相应的术语
数据库=数据库
图书馆=图式
物理文件=表
逻辑文件=索引和/或视图
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,它基本上是一个进入操作系统的GUI界面。在导航树中有一个节点数据库。大多数IBM i系统只定义了一个DB。在DB下面是架构的节点。默认情况下,仅显示模式的子集。您可以右键舔DB并选择要显示的模式。架构下面是一个节点,表。您可以右键单击表节点,然后选择生成SQL
生成的SQL DLL可以放在不同的位置,包括本地PC文件。选项卡的选项选项卡,您可以在ANSI / ISO和DB2之间进行选择(带或不带扩展名)。
它为您提供了所有表的SQL DDL。实际上,您可以立即为整个模式生成SQL DDL。但就你的目的而言,表格可能已经足够了。假设应用程序较旧,可能还有非SQL触发器,约束和视图/索引。特别是,大多数"观点"显示的实际上是DDS定义的键控逻辑文件。但是在SQL世界中,视图无法被锁定。
最后,就数据导出而言。看看吧。 Copy to Import File (CPYTOIMPF) command将表中的数据导出到集成文件系统(IFS)中的固定或分隔的流文件中
修改强> 如果您可以直接连接到系统,那么您的状况会更好。甚至可能使用IBM Data Movement Tool (MTK)