2015-11-03 192 views
0

我們需要將數據庫從DB2 for i(iSeries AS/400)遷移到DB2 Express。我們無法訪問由不同公司管理的iSeries,因此不能選擇直接的ODBC/JDBC連接。我們需要他們將他們的模式和數據導出爲我們可以在這裏導入的格式。將數據從iSeries移動到DB2 Express?

到目前爲止,他們已經爲我們送來了一組字段定義文件(* .FDF),但我一直無法弄清楚如何做與他們(飛學習DB2在這裏)。

我已經熟悉了db2move,db2lookdb2relocate,但這些實用程序在iSeries上不可用。擁有iSeries的小組寧願不必購買IBM的DB Connect產品,如果可以避免的話,雖然這可能是可以協商的。

如果有幫助,我們將只從我們的DB2 Express實例中讀取數據,所以我們並不擔心遷移觸發器或相似的行爲。

我覺得這應該是一個簡單的網絡搜索,但我一直都早上scrounging並沒有取得任何進展。看起來i系列本身就是一個世界!

回答

3

的IBM i(又稱AS/400 i系列又名),是它自己的世界......主要是因爲它的起源早於SQL。此外,數據庫深深嵌入到操作系統中。

話雖這麼說,這可以說是最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訪問的另一部分被稱爲IBM i的導航器,基本上是一個GUI接口到OS。在導航樹中是一個節點,數據庫。大多數IBM i系統只定義了一個數據庫。在DB下是模式的節點。默認情況下,只顯示一部分模式。您可以右擊數據庫並選擇要顯示的模式。模式下面是一個節點,。您可以右鍵單擊節點上,選擇生成SQL IBM i Navigator Screenshot

生成的SQL DLL可以放置在不同的地方,包括本地PC文件。 Taker選項選項卡中,您可以選擇ANSI/ISO和DB2(帶有或不帶擴展名)。

這爲您提供了所有表的SQL DDL。您可以一次爲整個模式生成SQL DDL。但爲了您的目的,這些表格可能就夠了。假設一個較老的應用程序,可能有非SQL觸發器,約束和視圖/索引。特別是,大多數顯示的「視圖」實際上是由DDS定義的鍵控邏輯文件。但在SQL世界中,視圖不能被鍵入。

最後,就數據導出而言。看看。 Copy to Import File (CPYTOIMPF) command從表中的數據導出到一個固定的或分隔的流文件中的集成文件系統(IFS)

編輯 如果你可以直接連接到系統時,你會好起來的。也許甚至使用了IBM Data Movement Tool (MTK)