powerDesigner使用教程【原創】
如何配置powerDesigner 15 以及逆向工程匯出資料庫表結構。
PDM檔案路徑 D:\Program Files (x86)\Sybase\PowerDesigner 16
oracle 11g 使用者名稱及口令都是yudexiao
oracle_home
D:\orcl\asus1\product\11.2.0\dbhome_1
tns_admin
F:\orclClient\instantclient_11_2_x64
client
F:\orclClient\instantclient_11_2_x64
F:\orclClient\instantclient_11_2_x32
TNSNAMES.ORA-------
GTGISMANAGER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.200)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
jdk
C:\ProjectOne\Java\jdk1.7.0_51
問題一:Could not initialize JavaVM
在網上查了許多資料,
有的地方說jdk安裝在program Files檔案裡面, 可能因為這個空格的原因造成的, 我先把jdk裝在了C:\java目錄下面
還是不行, 我使用的jdk是64位的又重新安裝了一個windows x86版本的jdk, 改了一下JAVA_HOME
其他設定如下,我使用的15.3版本的powerdesigner:
1.系統變數-classpath:加入mysql jar包的地址(例如C:\mysql-connector-java-3.1.13-bin.jar)
2.powerdesigner-Tools-General Options-Variables 修改JAR,JAVA,JAVAC,JAVADOC的Value
例如 JAR的Value: C:\Java\jdk1.6.0_30\bin\jar.exe
JAVA的Value: C:\Java\jdk1.6.0_30\bin\java.exe
JAVAC的Value: C:\Java\jdk1.6.0_30\bin\javac.exe
JAVADOC的Value: C:\Java\jdk1.6.0_30\bin\javadoc.exe
3.powerdesigner-Database-Configure Data Connections-Connection Profiles
點選Add Data source圖示, 依次填入連線資訊
例如:Connection profile name:MySQL
Description: MySQL
Connection type:JDBC
DBMS type: MySQL
User name: root
Password: 123
JDBC driver class: com.mysql.jdbc.Driver
JDBC connetion URL:jdbc:mysql://localhost:3306/database
JDBC driver jar files: C:\mysql-connector-java-3.1.13-bin.jar
問題二:如何配置綠色版oracle client?
client有兩種:一種是安裝包裡有setup.exe檔案的,另一種是綠色免安裝的,使用的時候需要在環境變數中配置。配置如下:
綠色免安裝版的安裝包如下:
沒有setup.exe檔案
問題三:PD學習網站及PD的使用小小感悟
推薦學習powerDesigner的視訊網站,網址如下:http://video.1kejian.com/computer/soft/76527/
1、客戶端引發的思考
本次安裝配置PowerDesigner,遇到很多困惑,雖然很多網友提示安裝客戶端,但是這次並沒有用到客戶端的配置,安裝問題,主要問題懷疑在sqldeveloper上,sqldeveloper並不像PL/SQL developer那樣,需要配置。
以下網友帖子上的觀點:
PL/SQL相對來說開發和管理上的功能更強大些,用的人也多些
SQL DE跨平臺效能好,遷移功能挺強大,圖形顯示功能也不錯
網友Palm:
網友inthirties:
呵呵
plsql還是比較主流的,在開發和管理上都比較方便,還支援匯入。匯出功能, 不過需要安裝Oracle的客戶端,並且需要配置tnsname。這是我覺得,他稍微弱勢的一點。
Oracle psql dev呢,是Oracle自帶的工具,11g已經內嵌到資料庫的安裝裡去了,也提供比較好的開發和管理的功能,但是相對plsql來說,要弱一些,不過其中帶有的migration tools是我鐘情於此工具的一點。 可以對異構或者同構的資料庫進行資料遷移,我在mysql和ms sql上都做個不是很復雜的遷移,還是很方便和實用的,而且該工具最好的一點是 java開發,使用的jdbc的連線方式,所以即使沒有安裝客戶端也可以通過thin的方式連線
這兩個工具在開發和管理上 plsql dev 勝出一籌
但是在遷移功能和跨平臺上 sql dev又亮點多多。
你根據你自己的情況來進行選擇吧。
2、ODBC和JDBC之間的那點小事兒
本次PowerDesigner的安裝配置,在ODBC Machine Data Source選項上徘徊的時間,還真不少,挺多的。網友提示,搞Java用的驅動程式應該是JDBC。下面就ODBC和JDBC之間的區別、聯絡做百度學習。
JDBC, 全稱為Java DataBase Connectivity standard, 它是一個物件導向的應用程式介面(API), 通過它可訪問各類關聯式資料庫。JDBC也是java核心類庫的一部分。
JDBC的最大特點是它獨立於具體的關聯式資料庫。與ODBC (Open Database Connectivity)類似, JDBC API 中定義了一些Java類分別用來表示與資料庫的連線(connections), SQL語句(SQL statements), 結果集(result sets)以及其它的資料庫物件, 使得Java程式能方便地與資料庫互動並處理所得的結果。使用JDBC, 所有Java程式(包括Java applications , applets和servlet)都能通過SQL語句或儲存在資料庫中的過程(stored procedures)來存取資料庫。
要通過JDBC來存取某一特定的資料庫,必須有相應的JDBC driver,它往往是由生產資料庫的廠家提供,是連線JDBC API與具體資料庫之間的橋樑。
通常,Java程式首先使用JDBC API來與JDBC Driver Manager互動,由JDBC Driver Manager載入指定的JDBC drivers, 以後就可以通過JDBC API來存取資料庫。
ODBC(Open Database Connectivity,開放資料庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關資料庫的一個組成部分,它建立了一組規範,並提供了一組對資料庫訪問的標準API(應用程式程式設計介面)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支援,使用者可以直接將SQL語句送給ODBC。
{1.微軟的東西比較複雜}
一個基於ODBC的應用程式對資料庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的資料庫操作由對應的DBMS的ODBC驅動程式完成。也就是說,不論是FoxPro、Access還是Oracle資料庫,均可用ODBC API進行訪問。由此可見,ODBC的最大優點是能以統一的方式處理所有的資料庫。
{1.ODBC也是處理所有DB,微軟帝國的東西必須有其霸道的一面}
一個完整的ODBC由下列幾個部件組成:
應用程式(Application)。
ODBC管理器(Administrator)。該程式位於Windows 95控制皮膚(Control Panel)的32位ODBC內,其主要任務是管理安裝的ODBC驅動程式和管理資料來源。
驅動程式管理器(Driver Manager)。驅動程式管理器包含在ODBC32.DLL中,對使用者是透明的。其任務是管理ODBC驅動程式,是ODBC中最重要的部件。
ODBC API。
ODBC 驅動程式。是一些DLL,提供了ODBC和資料庫之間的介面。 (DLL:應用程式擴充套件)
資料來源。資料來源包含了資料庫位置和資料庫型別等資訊,實際上是一種資料連線的抽象。
各部件之間的關係如圖下圖所示:
應用程式要訪問一個資料庫,首先必須用ODBC管理器註冊一個資料來源,管理器根據資料來源提供的資料庫位置、資料庫型別及ODBC驅動程式等資訊,建立起ODBC與具體資料庫的聯絡。這樣,只要應用程式將資料來源名提供給ODBC,ODBC就能建立起與相應資料庫的連線。
在ODBC中,ODBC API不能直接訪問資料庫,必須通過驅動程式管理器與資料庫交換資訊。驅動程式管理器負責將應用程式對ODBC API的呼叫傳遞給正確的驅動程式,而驅動程式在執行完相應的操作後,將結果通過驅動程式管理器返回給應用程式。
在訪問ODBC資料來源時需要ODBC驅動程式的支援。用Visual C++ 5.0安裝程式可以安裝SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驅動程式.在預設情況下,VC5.0只會安裝SQL Server、 Access、 FoxPro和dBase的驅動程式.如果使用者需要安裝別的驅動程式,則需要重新執行VC 5.0的安裝程式並選擇所需的驅動程式。
問題:powerdesigner逆向工程,從資料庫匯出PDM
DataBase-->configure Connections-->Connection Profiles-->左上角Properties-->Connection Profile Definition-->Test Connection
問題:powerdesigner如何將表格匯入DataBase
DataBase-->configure Connections-->Connection Profiles-->左上角Properties-->Connection Profile Definition-->Test Connection
問題:powerdesigner如何將表格匯入DataBase
問題:如何通過VB指令碼將Name批量轉成Comment
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
col.name = col.comment
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
'程式碼一:將Name中的字元COPY至Comment中
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
col.comment= col.name
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
'程式碼二:將Comment中的字元COPY至Name中
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
問題:如何通過VB指令碼將Name批量轉成Comment
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
col.name = col.comment
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
'程式碼一:將Name中的字元COPY至Comment中
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
col.comment= col.name
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
'程式碼二:將Comment中的字元COPY至Name中
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
如何去除引號,欄位的引號
選單DataBase-->Edit Current DBMS-->General-->Script-->
如何讓name列顯示中文:
tools-->modeloptions-->naming convention-->display,選擇NAM
PowerDesigner匯出指令碼里包含檢視
開啟使用MySQL5.0的PDM之後,在選單裡選擇
Database-> Edit Current DBMS..
確認DBMS使用的是MySQL5.0
開啟左端樹狀結構Script-> Objects-> View
選中Create,在右端的Value中寫入
create VIEW [%R%?[ if not exists]] %VIEW%
as
%SQL%
選中Drop,在右端的Value中寫入
drop table if exists %VIEW%
選中Enable,在右端的Value中選擇Yes
確定儲存。
以上操作雖然能run 指令碼,但是生成的是table ,table名字是xxx_view,
匯入資料庫
2、向資料庫中匯入表
(1)在powerDesinger中,Database-->Generate Database...
選擇要匯入的表,以及是否生成指令碼檔案,如果不生成指令碼檔案,就選擇odbcGeneration,不過,如果直接往資料庫中匯入,一般不太容易成功,我導的時候,報了很多的error,後來查了一下,是因為powerDesigner生成的Sql語句表名,欄位名都自動加上了雙引號,所以匯入的時候出現問題。不過據說這個問題可以通過你在建表的時候全部字母大寫來解決,我沒試過,大家可以試試
(2)我是匯出的.sql指令碼檔案,再將所有的雙引號轉換成空格
(3)進入oracle伺服器,怎樣連,這裡就不說了,將這個.sql檔案放到$oracle_home目錄下,在命令列下敲入
SQL>@檔名.sql
就OK 了
問題:Could not Initialize JavaVM
如果出現 Could not Initialize JavaVM! 則說明JAVA環境配置錯誤,首先power designer需要在32位jdk環境下執行,可以先下載32位的jdk(如果用odbc連線那麼另當別論),
然後設定環境變數 ,在這裡我是建立了一個批處理檔案,直接設定環境變數
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_25
set CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
set path=C:\Program Files (x86)\Java\jdk1.8.0_25\bin
除了 上面這幾個還需要在 工具--->常規選項--->varibles 裡面設定一下四個選項(JAR,JAVA,JAVAC,JAVADOC)的路徑如下圖所示
相關文章
- PowerDesigner使用教程
- 使用PowerDesigner畫ER圖詳細教程
- PowerDesigner 12 官方視訊教程
- 【原創】中華通訊錄 pj教程
- network spy eval 1.6破解教程【原創】
- 【原創】Struts1.x系列教程(18):使用DispatchAction類呼叫多個Action方法
- powerdesigner12安裝與使用
- 原創:oracle DML介紹與使用Oracle
- 【原創】Struts1.x系列教程(14):動態FormORM
- 板橋里人:J2EE原創教程和例項
- [原創]Spring教程01--Spring開始篇_HelloworldSpring
- 【原創】Struts1.x系列教程(6):Bean標籤庫Bean
- [原創]zabbix工具介紹,安裝及使用
- 【原創】使用普通檔案建立ASM例項ASM
- [原創]Swift+Sprite Kit中文教程第一篇Swift
- 【原創】Struts1.x系列教程(7):Logic標籤庫
- 原創教程網上實時支付下載已經開通
- 【原創】Struts1.x系列教程(15):使用DownloadAction類統計檔案下載次數
- 【原創】Ubuntu安裝和簡單使用初感Ubuntu
- [原創]SpotLight效能監控工具使用介紹
- 【原創】使用dbms_stats但不生成histogram的方法Histogram
- Java (原創) (轉)Java
- 原創文章檢測工具,檢測原創文章,過不了原創賬號的原因在這
- 【原創】Struts1.x系列教程(8):上傳單個檔案
- 【轉】使用PowerDesigner 15.2對Oracle進行反向工程Oracle
- 想免費用谷歌資源訓練神經網路?Colab 詳細使用教程 —— Jinkey 原創谷歌神經網路
- [原創]ORACLE SQL TUNING ADVISOR 使用方法OracleSQL
- 【原創】使用Oracle分析函式去除重複記錄Oracle函式
- 【原創】使用nid命令修改資料庫名稱資料庫
- 一次簡單的shodan的使用 原創
- 【原創】Struts1.x系列教程(2):簡單的資料驗證
- 【原創】Struts1.x系列教程(4):標籤庫概述與安裝
- 【原創】WebService(Axis2)視訊教程與QQ交流群釋出Web
- 【原創】Struts1.x系列教程(17):包含和轉入Web資源Web
- [原創]Docker學習記錄: Shipyard+Swarm+Consul+Service Discover 搭建教程DockerSwarm
- [原創] How to Quiesce a DatabaseUIDatabase
- 【原創】面試對白面試
- 【原創】webservice效能研究Web