PowerDesigner 自動編號為 int
在 PowerDesigner 設計 CDM 時,若選擇資料型別為 Serial 時,選擇 SQL Server 資料庫 產生 PDM ,其欄位型別會是 Numeric。若想將調整其型別為 int 的話,參考以下作法。
產生 PDM 後,直接在 PDM 上修改資料型別。
爾後從 CDM 轉 PDM 時,顯示 [Merge Models] 視窗時,不要勾選這個欄位。
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRyFQEWj04qAO62PRO0-RzFQNapuujTiYzU7t4xsZg6Ap1amo5vwryGTj6DMsdaFiMk78zBQ6THn8UGKfiGV0KKtz91v7LlgIEYtbJflvA8Yequ5K4x83FDlBBEw6e9mT7FWokEzVQua-Q/?imgmax=800)
就說這作法 0 分吧!
因此要將 Serial 轉為 int ,只需修改 SQL Server 的 DBMS 即可達成。
首先須以系統管理者身分開啟 PowerDesigner,從選單 [Tools] > [Resources] > [DBMS]
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOcQSbfqb8JCeCUz2JTMjHEcinqXhP5Z_00Hv2NFJ977jdZTumI3Hgtc0iNCeEc8OyOzDVmzbzgsqn4nnP-ZdY1c0eBDiPV0_4p1Dq-PchVWMiY5hbjdqVjUgfcn8q8rvmLrJwru3FuZcz/?imgmax=800)
選擇 [Microsoft SQL Server 2008],點擊兩次
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCCiTW_c8gpzBod5GCGjImEFa3m3-s4-lgY8AeA25ALbFo-8rt7Q17zEOC72mrjRHqtAlxBlorq8pbI5h-ZgzZtqcKyJtbFcSiPVvZMA-zLEjIncxt72_GB-PEgNXxI2mAt3EcjY-PFTtb/?imgmax=800)
從 DBMS 視窗左側 > [Script] > [Data Type] > [AmcdDataType]
找到 Internal = NO 的資料列(如下圖第32筆),將其 Physical Model 的值從 numeric 修改為 int
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMXNXSpFJucRB83ELlAfF-U_HldGXcxBS7ttQbPZ_oxUiCWQMOi_cKtH0VMK4yUSpt1-V7cg7f8Vs5UxEF6a3oS1PbV7KUQov80ERWW_tx94k-zTFFMELsDsgBzNIk51Jogx8fvo20pNWR/?imgmax=800)
修改後儲存。
再重新轉 PDM時,要選擇上述修改過的 DBMS
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZgQs9AESxRPv81Fjdht95I1ZmEcbC7fEM86cAHmd-vJ_3ocGSqkUwNe8SjGZoboP_crP73-GsQ7KjYSyEzg56-zQs4wP0cC9pjeW_KQItVQ7jXhPS0YMzduVxPjX4OYDw-7dlsAOVJKdl/?imgmax=800)
2. 異動 DBMS 務必先做備份
![image image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg09Fzfz46deYQnAdF21RNQxMD_KA8VaqcZKckRoKGXX6P9B46XYxnl9PcHhV0Scqw3H1aZobAt8aXTzcd1G58xUSc72fKuFWtQR2DKqxyJyr1fIc8zLRJGD9rXYky1X4PeYTphnCx5Fh-s/?imgmax=800)
DBMC 檔案儲存在 C:\Program Files (x86)\Sybase\PowerDesigner 16\Resource Files\DBMS
3. 參考資料
異動PDM,保留LDM
先說明這作法 0 分。產生 PDM 後,直接在 PDM 上修改資料型別。
爾後從 CDM 轉 PDM 時,顯示 [Merge Models] 視窗時,不要勾選這個欄位。
就說這作法 0 分吧!
修改 DBMS (XDB)
PowerDesigner 從 CDM 轉 PDM 時,會參照所指定資料庫的 DBMS (副檔名 XDB),進行各種資料型別及相關邏輯的對應。因此要將 Serial 轉為 int ,只需修改 SQL Server 的 DBMS 即可達成。
首先須以系統管理者身分開啟 PowerDesigner,從選單 [Tools] > [Resources] > [DBMS]
選擇 [Microsoft SQL Server 2008],點擊兩次
從 DBMS 視窗左側 > [Script] > [Data Type] > [AmcdDataType]
找到 Internal = NO 的資料列(如下圖第32筆),將其 Physical Model 的值從 numeric 修改為 int
修改後儲存。
再重新轉 PDM時,要選擇上述修改過的 DBMS
附註
1. Date, Time, DateTime 預設均轉為 DateTime,其實可以按此法自行修改設定的![image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh3gzV-FBuqYzuMIlfIQMxKyO9d9ABcSpQ17glpFDzZekRON818ubu2KiNtoksN8e4e04IknEyVwerqvnqqfkmrV3aNyAqTHwdHg-8NxwbJsWQtyRcuu12GIZfwOI89iyo4fKRNrQm0KSc/s640/2015-05-12_8-50-43.jpg)
2. 異動 DBMS 務必先做備份
DBMC 檔案儲存在 C:\Program Files (x86)\Sybase\PowerDesigner 16\Resource Files\DBMS
3. 參考資料