版次注意事項


|22.13 IBM ERwin 描述資料取出程式

|22.13.1 內容

|

|軟體需求

|程式檔

|建立標示語言檔

|匯入標示語言檔到「資料倉儲中心」

|匯入標示語言檔到「資訊型錄管理程式」

|疑難排解

|ERwin 到「資料倉儲中心」對映

|ERwin 到「資訊型錄管理程式」對映

|本節說明如何使用 IBM ERwin Metadata Extract Program 來從 ER1 檔取出描述資料,以及建立「DB2 資料倉儲中心」或「資訊型錄管理程式 (DataGuide)」標示語言檔。

|描述資料取出程式會取出所有實體物件 (如儲存於輸入 ER1 檔中的資料庫、表格及直欄), |並且將描述資料模型寫入「資料倉儲中心」或「資訊型錄管理程式」標示語言檔中。建立物件之間 (如資料庫和表格之間,以及表格和實體之間) 的所有對應關係標籤時,也會擷取及建立由實體及屬性組成的「資訊型錄管理程式」之邏輯模型。對不含資料庫的表格而言,會建立一個名為 |DATABASE 的預設資料庫。對不含綱目的表格而言,會使用預設綱目 USERID。對模型名稱而言,會使用 ER1 檔名。有關 ER1 屬性對映至「資料倉儲中心」或「資訊型錄管理程式」的詳細資訊,請參閱「ERwin |與 DB2 資料倉儲中心的對映」和「ERwin 與資訊型錄管理程式的對映」。

|描述資料取出程式支援具有關聯式資料庫的所有 ER1 模型, |包括 DB2、Informix、Oracle、Sybase、ODBC 資料來源及 Microsoft SQL Server。

|22.13.2 軟體需求

|

|系統需符合下列的軟體需求以執行描述資料取出程式: |

|系統需符合下列的軟體需求以匯入 ERwin 標示語言檔: |

|資料倉儲中心:
|IBM DB2 Universal Database 版本 7.2 |
|

|資訊型錄管理程式:
|IBM DB2 Warehouse Manager 版本 7.2 |

|模板標示語言檔 (.tag) 必須位於 VWS_TEMPLATES 環境變數所指示的目錄中。

|類型標示語言檔 (.typ) 必須位於 DGWPATH 環境變數所指示的目錄中。

|22.13.3 程式檔

|

|描述資料取出程式安裝在 IBM DB2 目錄的 sqllib\bin 次目錄中。 |此程式將下列檔案安裝到您的目錄中: |

|flgerwin.exe
|主要的移轉程式 |
|

|erwext.dll
|標示語言檔產生器 DLL |
|

|cdmerwsn.dll
|ERwin API 外層類別 DLL |

|若要啟動取出程式,請從指令提示上發出 flgerwin 指令。

|22.13.4 建立標示語言檔

|

|若要建立「資料倉儲中心」或「資訊型錄管理程式」標示語言檔, |請執行 flgerwin.exe 程式並提供兩個主要參數。第一個參數為描述資料自其中取出的 |ER1 檔。第二個參數為輸出標示語言檔的名稱。依預設,取出程式將 MERGE 參數加入「資料倉儲中心」標示語言檔中。

|指令語法為:

|	flgerwin inputFile.er1 outputFile.tag [-dwc] [-icm] [ -m] [-u] [-a] [-d]

|建立星狀綱目的指令語法為:

|	flgerwin inputFile.er1 outputFile.tag [-dwc] [-starschema]

|

|-dwc
|請建立「資料倉儲中心」標示語言檔。您可使用 -dwc 的選用性參數 -m 與 -starschema。 |
|

|-icm
|請建立「資訊型錄管理程式」標示語言檔。 |-icm 可用的選用性參數為 -m、-u、-a 及 -d。 |
|

|-starschema
|請建立 ERwin 模型星狀綱目標示語言檔。 |
|

|-m
|指定物件上的動作為 MERGE。 |
|

|-u
|指定物件上的動作為 UPDATE。 |
|

|-a
|指定物件上的動作為 ADD。 |
|

|-d
|指定物件上的動作為 DELETE。 |

|描述資料取出程式使用的是描述資料而非資料。完成 ERwin 標示語言檔匯入後及使用目標表 |格之前,您必須符合通行碼及使用者 ID。將描述資料與現存的資料庫資料合併:

|內容 --> 資料庫 --> 使用者 ID 下變更「資料倉儲中心」使 |用者 ID 和通行碼,使符合已合併的資料庫使用者 ID 和通行碼。

|透過描述資料取出程式,您可以匯入標示語言檔作為目標。 |在最新匯入的描述資料中,尚未移入一些表格。您可以用邏輯或實體表示法檢視這些 |表格,然後建立一個倉儲步驟來移入從 ERwin 匯入的表格定義。

|輸入 ER1 檔案必須處於可寫入狀態。執行描述資料取出程式後, |ER1 檔案即變成唯讀狀態。若要變更為讀取/寫入模式,請使用如下所範例所示的指令:

|attrib -r erwinsimplemode.er1

|其中,erwinsimplemode.er1 是 ERwin 純文字檔的名稱。

|若 ER1 檔案已使用於現行 ERwin 階段作業中,或偵測到某個錯誤狀況, |則描述資料取出程式以唯讀狀態儲存 ER1 檔案。若 ER1 檔案處於唯讀狀態, |您會收到一個異常程式終止錯誤訊息。描述資料取出程式會顯示目前處理的表格名稱。 |當描述資料取出程式完成處理時,您會收到一則參考訊息。

|當您藉由將維度表格自動結合成事實表格來建立星狀綱目時, |需要一段時間才能完成處理程序,而所需要的時間視您使用的表格數目而定。 |在處理程序期間,自動結合行為綠色。儲存之後,自動結合行會變成黑色。

|使用自動產生的限制名稱來確保限制名稱是唯一的。

|在處理程序期間,您會收到訊息 "發現重複的直欄。 |直欄將無法被取出。" 這是一個參考訊息,並不影響取出程式的順利完成。 |當外來鍵的實體名稱與目前所處理表格中的直欄之實體名稱相同時,會顯示此訊息。

|22.13.5 匯入標示語言檔到「資料倉儲中心」

|

|您可以匯入標示語言檔到「資料倉儲中心」。您可以使用「資料倉儲中心」或命令行。

|若要使用「資料倉儲中心」匯入標示語言檔,請: |

  1. |按一下 開始 --> 程式集 --> IBM DB2 --> |控制中心。即會開啟 DB2「控制中心」。
  2. |開啟「資料倉儲中心」並登入。
  3. |倉儲上按一下右鍵。即會開啟「匯入」視窗。
  4. |按一下 匯入描述資料 -> ERwin。即可開啟匯入描述資料視窗。
  5. |輸入檔欄位中,鍵入輸入標示語言檔的名稱,並按一下確定
  6. |勾選取出星狀綱目勾選框,以定義 ERwin 星狀綱目描述資料模型為倉儲綱目。 |

|完成匯入之後,您可以按一下檢視 --> 復新以檢視新的步驟。

|若要使用命令行匯入標示語言檔,請:

|	iwh2imp2 tag-filename log-pathname 
|target-control-db userid password

|

|tag-filename
|標示語言檔的完整路徑和檔案名稱。 |

|

|log-pathname
|日誌檔的完整路徑名稱。 |

|

|target-control-db
|匯入的目標資料庫名稱。 |

|

|userid
|用來存取控制資料庫的使用者 ID。 |

|

|password
|用來存取控制資料庫的通行碼。 |

|若要變更 DB2 資料庫定義使其成為「資料倉儲中心」中的一個來源, |您可以變更標示語言檔:

|

|匯入標示語言檔後,您會收到下列訊息:

|

|Message: DWC13238E The object of type "COLUMN" identified by "DBNAME(___)
| OWNER(___) TABLE(___) COLUMNS(___)" is defined twice in the tag language file.
|

|這是一個參考訊息,您的匯入已順利完成。 |若您擁有的實體具有同名的外來鍵,或擁有的實體具有受截斷影響的類似已命名直欄, |或其它類似的情況,您會收到此訊息。檢查您的模型是否有重複的直欄名稱, |然後進行適當的調整。

|22.13.6 匯入標示語言檔到「資訊型錄管理程式」

|

|匯入標示語言檔到「資訊型錄管理程式」有兩個方法。 |您可以使用「資訊型錄管理者」或使用指令行。

|使用「資訊型錄管理者」來匯入標示語言檔:

|

  1. |按一下開始 --> 程式集 --> DB2 --> 資訊型錄管理程式
  2. |按一下型錄 --> 匯入。即會開啟「匯入」視窗。
  3. |按一下尋找來搜尋標示語言檔,然後按一下匯入|

|完成匯入之後,您可以按兩下主旨圖示,這會開啟一個視窗,顯示所有匯入的模型及資料庫。

|若要使用命令介面匯入標示語言檔,請輸入下列指令:

|DGUIDE /USERID userid /PASSWORD password
| /DGNAME dgname /IMPORT filename /LOGFILE 
|filename /ADMIN /RESTART (B|C)

|

|/USERID
|用來存取控制資料庫的使用者 ID。 |

|

|/PASSWORD
|使用者 ID 的通行碼。 |

|

|/DGNAME
|「資訊型錄管理程式」名稱。 |

|

|/IMPORT
|標示語言檔的完整路徑和檔案名稱。 |

|

|/LOGFILE
|日誌檔的完整路徑名稱。 |

|

|/ADMIN
|指示您以管理者身份登入。 |

|

|/RESTART
|指示匯入將從標示語言檔開頭處啟動 (選項 B),或從上一個確定點啟動 (選項 C,預設值)。 |

|22.13.7 疑難排解

|若您收到錯誤訊息,請在此處的訊息中找到解決錯誤可採取的動作。

|遺失的 ER1 輸入檔或標示輸出檔。

|描述資料取出程式需要特定次序的兩個參數。 |第一個參數為 ER1 檔名,第二個參數為標示輸出檔名稱。 |若指定現存的標示語言檔名稱,則檔案會被改寫。

|Windows 系統異常程式終止。

|輸入 ER1 檔可能處於唯讀狀態。若儲存 ER1 檔時發生問題,而且描述資料取出程式將該 |檔案置於唯讀模式中,則會發生此情況。請在指令 Shell 中發出下列指令:

|attrib -r inputFile.er1

|藉以將 ER1 檔案狀態變更為讀取/寫入。

|無法開啟標示語言檔。

|檢查系統中有無造成檔案無法在現行磁碟機開啟或建立的任何問題。

|找不到模板檔的路徑。

|未設定環境變數 VWS_TEMPLATES。檢查「資料倉儲中心」是否已安裝。

|找不到類型檔的路徑。

|未設定環境變數 DGWPATH。檢查「資料倉儲中心」是否已安裝。

|未支援的伺服器版本:...

|您嘗試自其中取出的輸入 ER1 檔儲存在不受程式支援的目標伺服器上。 |請啟動 ERwin、開啟 ER1 檔,然後按一下伺服器 --> 目標伺服器,以及適當的版本 [請參閱軟體需求]。儲存 ER1 檔。

|不明的 ERwAPI 錯誤。

|發生 ERwin API 錯誤,程式無法取得錯誤的相關資訊。 |請確定 ERwin 3.5.2 已安裝。您必須登記 ERwin API。

|若要登記 ERwin API,請從安裝 ERwin 程式檔所在的目錄執行下列指令: |regsvr32 er2api32.dll|您會看到訊息 "DllRegisterServer in er2api32.dll succeeded"。 |您可以從「資料倉儲中心」啟動取出程式,或從指令 Shell 發出 flgerwin 指令來啟動取出程式。

|取出程式錯誤:...

|檢查錯誤訊息並採取適當動作。這最有可能是內部取出程式錯誤, |請向 IBM 業務代表報告問題。

|不明的取出程式錯誤。

|發生不明的錯誤。這最有可能是內部錯誤,請向 IBM 業務代表報告問題。

|取出程式因錯誤而終止。

|發生無法順利完成取出程式的錯誤。 |請參閱附加的錯誤訊息以解決問題,或聯絡 IBM 業務代表。

|22.13.8 ERwin 與 DB2 資料倉儲中心的對映

|本節說明主要 ERwin 物件屬性如何對應到「資料倉儲中心」標示:

|資料庫 - WarehouseDatabase.tag 或 SourceDatabase.tag


|
ERwin 命令行標示 資料倉儲中心
圖解名稱 NAME 倉儲來源或倉儲目標的名稱
圖解作者 RESPNSBL 聯絡
資料庫名稱 DBNAME 資料庫名稱
資料庫版本 DBTYPE 資料庫類型
圖解說明 SHRTDESC 說明

|表格 - Table.tag


|
ERwin 命令行標示 資料倉儲中心
表格名稱 NAME 表格名稱
表格名稱 TABLES 表格名稱
資料庫名稱 DBNAME
表格擁有者 OWNER 表格綱目
表格註解 SHRTDESC 說明

|直欄 - Column.tag


|
ERwin 命令行標示 資料倉儲中心
直欄名稱 NAME 直欄名稱
資料類型 NATIVEDT 資料類型
長度 LENGTH 長度
小數位數 SCALE 小數位數
Null 選項 NULLABLE 接受空值 (勾選框)
位置 POSNO
主要鍵 KEYPOSNO
資料庫名稱 DBNAME
表格擁有者 OWNER
表格名稱 TABLES
直欄註解 SHRTDESC 說明

|22.13.8.1 ERwin 與資訊型錄管理程式的對映

|本節說明主要 ERwin 物件屬性如何對應到「資訊型錄管理程式」標示:

|資料庫 - Database.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
圖解名稱 NAME 資料庫名稱
圖解作者 RESPNSBL 資料庫擁有者
資料庫名稱 DBNAME 資料庫名稱
資料庫版本 DBTYPE 資料庫類型
圖解說明 SHRTDESC 簡短的說明

|表格 - TableOrView.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
表格名稱 NAME 表格名稱
表格名稱 TABLES 表格名稱
資料庫名稱 DBNAME 資料庫名稱
表格擁有者 OWNER 表格擁有者
表格註解 SHRTDESC 簡短的說明
ERwin API TABLVIEW 定義代表一個概略表

|直欄 - ColumnOrField.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
直欄名稱 NAME 直欄名稱
資料類型 DATATYPE 直欄的資料類型
長度 LENGTH 直欄的長度
小數位數 SCALE 直欄的小數位數
Null 選項 NULLS 直欄可否為空值 (?)
位置 POSNO 直欄位置
主要鍵 KEYPOSNO 主要鍵中直欄的位置
ERwin API ISKEY 直欄是否為鍵的一部份 (?)
ERwin API UNIQKEY 直欄是否為唯一鍵 (?)
資料庫名稱 DBNAME 資料庫名稱
表格擁有者 OWNER 表格擁有者
表格名稱 TABLES 表格名稱
直欄註解 SHRTDESC 簡短的說明
ERwin ISTEXT 資料是否為文字 (?)
ERwin API IDSRES 資料的解析度

|模型 - Model.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
ER1 檔名 NAME 模型名稱
圖解作者 RESPNSBL 進一步資訊...
圖解說明 SHRTDESC 簡短的說明

|實體 - Entity.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
實體名稱 NAME 實體名稱
附註 SHRTDESC 簡短的說明
定義 LONGDESC 詳細說明
實體擁有者 RESPNSBL 進一步資訊...

|屬性 - Attribute.tag


|
ERwin 命令行標示 「資訊型錄管理程式」介面
物件名稱 NAME 物件名稱
附註 SHRTDESC 簡短的說明
定義 LONGDESC 詳細說明
資料類型 DATATYPE 成員的資料類型
長度 LENGTH 成員的長度


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]