1. 程式人生 > >powerdesigner 配置oracle資料來源 反向工程匯出pdm檔案

powerdesigner 配置oracle資料來源 反向工程匯出pdm檔案

系統:win7 64位 ; Oracle 10g;Powerdesigner 15

問題,在控制面板=>管理工具=>資料來源 (ODBC)  新增“使用者DNS”配置驅動程式為oracle的都能連線成功,如下圖

另外:可以看“資料來源 (ODBC)”的屬性,看他的目標在哪裡,當前的在:%windir%\SysWOW64\odbcad32.exe



但是進入Powerdesigner裡面就連不上database,報以下錯誤

[html] view plain copy print?在CODE上檢視程式碼片派生到我的程式碼片
  1. --------------------------- 
  2. Testing Connection 
  3. --------------------------- 
  4. Unable to connect 
  5. SQLState=08004
  6. [Oracle][ODBC][Ora]ORA-12154: TNS: 無法解析指定的連線識別符號 
  7. --------------------------- 
  8. 確定    
  9. --------------------------- 
---------------------------
Testing Connection
---------------------------
Unable to connect
SQLState=08004
[Oracle][ODBC][Ora]ORA-12154: TNS: 無法解析指定的連線識別符號

---------------------------
確定   
---------------------------

解決:發現Powerdesigner安裝路徑的原因,不能有括號等特殊字元:  安裝的路徑不能帶括號,即不能使用預設路徑【帶有(x86)】

以前是:C:\Program Files (x86)\Sybase\PowerDesigner 15

現在:D:\Sybase\PowerDesigner15

就可以連線成功了。

=======================將oracle表結構反向匯入pd=======================

推薦連線:http://wenku.baidu.com/view/fdebcb050740be1e650e9af7.html?re=view

或者:http://wenku.baidu.com/link?url=CasTgdEPk3SI38L99IrqmZQ3g_pp4muOCfJE18A-bzJfCR9h0sfocZ-zHnwvk-sOo-FzH6VrJ-bTe5lkElQFOTfLjH2mR_h3Fuzt6dPefq3

法一:使用ODBC連線資料庫形式

1. 開啟Powerdesigner
2. 從選單條中依次選擇File -> Reverse Engineer -> Database。
3. 彈出New Physical Data Model視窗
4. 選中Using a data source後,點選Connect to a Data Souce圖示,會彈出Connect to a Data Source視窗,然後點選Configure彈出Configure Data Connections視窗,點選Add Data Source圖示,建立新的資料來源,(先選系統資料來源)找到oracle項,下一步--完成。
5. 點選完成後會彈出Oracle ODBC Drive Configuration視窗,在Connect to a Data Source視窗選中ODBC machine data source,然後從下拉選單中選中剛配置的資料來源heloworld。(此處也可用Powerdesigner配置資料來源,建議用本文提到的方法)
6. 填寫使用者名稱和密碼
7. 點選Connect按鍵,在Database Reverse Engineering Options視窗,點選確定。
8. 點選確定後會彈出匯入視窗,在其中選擇需要的資料物件即可。 
9. 生成成功

法二:使用sql指令碼形式,可以不用連線資料庫都可以生成PD的表結構

1. 開啟Powerdesigner
2. 從選單條中依次選擇File -> Reverse Engineer -> Database。

3. 彈出New Physical Data Model視窗



點確定即可

==================================

將pd的表結構生成database的表,最好使用生成指令碼方式,而不直接生成到資料庫中