表格名稱若帶有s字母結尾, 使用Linq to SQL,建立.dbml時
記得先做下列設定..
Tools >> Options >> Database Tools >> O/R Designer >> Pluralization of name
Enabled 設成 False
不然VS2010會亂亂命名class , 有s的亂改成沒s, 沒有s的自已亂改成有s,
Pluralization of name = 名稱的複數表示
我咧傻傻搞不清
2011年7月19日 星期二
2011年7月17日 星期日
IIS 7無法上傳超過30MB 檔案
網站由windows 2003換到windows 2008後, 上傳大旳檔案時會出現404 not found的錯
web.config httpruntim 有設定maxlength, 但仍無法上傳, google 到此篇
以下是更改設定指令.
REM切換到appcmd目錄
cd c:\Windows\systems32\inetsrv
REM 先備份IIS設定
appcmd add backup test20110718
appcmd add backup test20110718
REM 查看IIS備份紀錄是否存在
appcmd list backup
REM 先查主機的SiteName及APP list
appcmd list app
REM 查看目前上傳設定,找關鍵字requestLimits
appcmd list config "Default Web Site/mySite" -section:requestFiltering
REM 更改size 單位為byte ,以下為100MB左右
appcmd set config "Default Web Site/mySite" -section:requestFiltering -requestLimits.maxAllowedContentLength:102400000 -commitpath:apphost
2011年7月14日 星期四
powerdesigner 15 取消欄位 Code = Name
新增表格定義時,輸入欄位Name有時不想要同步到Code,
可在Tools >> General Options , 點選左方選單Dialog, 反勾選Name to Code mirroring
如果table要顯示的是code而不是name
Tools >> Model Options >> Naming Conventions >> Display 改成Name即可
每次必忘的設定, 每次都要找一下....
可在Tools >> General Options , 點選左方選單Dialog, 反勾選Name to Code mirroring
如果table要顯示的是code而不是name
Tools >> Model Options >> Naming Conventions >> Display 改成Name即可
每次必忘的設定, 每次都要找一下....
2011年7月13日 星期三
powerdesigner 15 文件範本
powerdesigner功能愈來愈多,表示使用上也愈來愈複雜
產生文件時,通常會先編輯好文件範本.
不然使用內定的範本後,產生出來的文件內容挺不實用的
PD15中,文件的功能也多了許多,常用的
1.希望物件依code排序,
在item 按mouse 右鍵,選 selection 進入後, 第一行S 就是排序選項, 勾選你要排序的欄位為Code即可
在item 按mouse 右鍵,選Layoyt進入後, 可勾選要顯示的Attribute, 同時也可設定欄位寬度
通常會選的就是下面這幾項
產生文件時,通常會先編輯好文件範本.
不然使用內定的範本後,產生出來的文件內容挺不實用的
PD15中,文件的功能也多了許多,常用的
1.希望物件依code排序,
在item 按mouse 右鍵,選 selection 進入後, 第一行S 就是排序選項, 勾選你要排序的欄位為Code即可
2.table 產出格式
通常會選的就是下面這幾項
2011年7月12日 星期二
windows 2003 IIS 顯示silverlight
把原本部署在IIS7的網站改部署到windows 2003 R2 IIS上,
如果在顯示silverlight物件時,出現了這個錯誤....
網頁錯誤詳細資料
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Foxy/1; .NET CLR 1.1.4322; InfoPath.3; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Tue, 12 Jul 2011 09:43:13 UTC
訊息: Unhandled Error in Silverlight Application
Code: 2104
Category: InitializeError
Message: 2104 發生錯誤。
行: 47
字元: 13
程式碼: 0
URI: http://bev2003/Demo/Scripts/jquery.silverlight.js
google找到以下訊息, 是IIS少了silverlight檔案的關聯設定
.xap application/x-silverlight-app
.xaml application/xaml+xml
.xbap application/x-ms-xbap
主要是在IIS 本機電腦,按右鍵選內容, 在MIME類型加入幾上三個檔案即可.
如果在顯示silverlight物件時,出現了這個錯誤....
網頁錯誤詳細資料
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Foxy/1; .NET CLR 1.1.4322; InfoPath.3; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Tue, 12 Jul 2011 09:43:13 UTC
訊息: Unhandled Error in Silverlight Application
Code: 2104
Category: InitializeError
Message: 2104 發生錯誤。
行: 47
字元: 13
程式碼: 0
URI: http://bev2003/Demo/Scripts/jquery.silverlight.js
google找到以下訊息, 是IIS少了silverlight檔案的關聯設定
主要是在IIS 本機電腦,按右鍵選內容, 在MIME類型加入幾上三個檔案即可.
2011年7月11日 星期一
powerdesigner 轉出五個meta data table
如果手上只有PDM,..想要產生 meta data table
Tools >> powerbuilder >>Generate Extended Attributes...
當然要先匯入powerbuilder extension,
Tool >>Extension >>Import an Extension,勾選powerbuilder
同時先準備好五個meta data table schema, 欄位名稱不能更改,但字串欄型態可加長.
CREATE TABLE [dbo].[pbcatcol](
[pbc_tnam] [char](30) NOT NULL,
[pbc_tid] [int] NULL,
[pbc_ownr] [char](30) NULL,
[pbc_cnam] [char](30) NOT NULL,
[pbc_cid] [smallint] NULL,
[pbc_labl] [nvarchar](254) NULL,
[pbc_lpos] [smallint] NULL,
[pbc_hdr] [nvarchar](254) NULL,
[pbc_hpos] [smallint] NULL,
[pbc_jtfy] [smallint] NULL,
[pbc_mask] [nvarchar](31) NULL,
[pbc_case] [smallint] NULL,
[pbc_hght] [smallint] NULL,
[pbc_wdth] [smallint] NULL,
[pbc_ptrn] [nvarchar](31) NULL,
[pbc_bmap] [char](1) NULL,
[pbc_init] [nvarchar](254) NULL,
[pbc_cmnt] [nvarchar](4000) NULL,
[pbc_edit] [nvarchar](31) NULL,
[pbc_tag] [nvarchar](254) NULL,
CONSTRAINT [PK_pbcatcol] PRIMARY KEY CLUSTERED
(
[pbc_tnam] ASC,
[pbc_cnam] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcatedt](
[pbe_name] [nvarchar](30) NOT NULL,
[pbe_edit] [nvarchar](254) NULL,
[pbe_type] [smallint] NOT NULL,
[pbe_cntr] [int] NULL,
[pbe_seqn] [smallint] NOT NULL,
[pbe_flag] [int] NULL,
[pbe_work] [char](32) NULL,
CONSTRAINT [PK_pbcatedt] PRIMARY KEY CLUSTERED
(
[pbe_name] ASC,
[pbe_seqn] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcattbl](
[pbt_tnam] [char](30) NOT NULL,
[pbt_tid] [int] NULL,
[pbt_ownr] [char](30) NULL,
[pbd_fhgt] [smallint] NULL,
[pbd_fwgt] [smallint] NULL,
[pbd_fitl] [char](1) NULL,
[pbd_funl] [char](1) NULL,
[pbd_fchr] [smallint] NULL,
[pbd_fptc] [smallint] NULL,
[pbd_ffce] [char](32) NULL,
[pbh_fhgt] [smallint] NULL,
[pbh_fwgt] [smallint] NULL,
[pbh_fitl] [char](1) NULL,
[pbh_funl] [char](1) NULL,
[pbh_fchr] [smallint] NULL,
[pbh_fptc] [smallint] NULL,
[pbh_ffce] [char](32) NULL,
[pbl_fhgt] [smallint] NULL,
[pbl_fwgt] [smallint] NULL,
[pbl_fitl] [char](1) NULL,
[pbl_funl] [char](1) NULL,
[pbl_fchr] [smallint] NULL,
[pbl_fptc] [smallint] NULL,
[pbl_ffce] [char](32) NULL,
[pbt_cmnt] [nvarchar](4000) NULL,
CONSTRAINT [PK_pbcattbl] PRIMARY KEY CLUSTERED
(
[pbt_tnam] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcatvld](
[pbv_name] [nvarchar](30) NOT NULL,
[pbv_vald] [nvarchar](254) NOT NULL,
[pbv_type] [smallint] NOT NULL,
[pbv_cntr] [int] NULL,
[pbv_msg] [nvarchar](254) NULL,
CONSTRAINT [PK_pbcatvld] PRIMARY KEY CLUSTERED
(
[pbv_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
轉出過程中, 其實PD會產生insert 及update 語法, 所以上述五個table應設立PK或Unique Index,以避免重覆轉入
若手動修改了五個table的內容想要反向更新PDM時,則
Tools >> powerbuilder >>Reverse Engineering Extended Attributes...就轉回來了.
Tools >> powerbuilder >>Generate Extended Attributes...
當然要先匯入powerbuilder extension,
Tool >>Extension >>Import an Extension,勾選powerbuilder
同時先準備好五個meta data table schema, 欄位名稱不能更改,但字串欄型態可加長.
CREATE TABLE [dbo].[pbcatcol](
[pbc_tnam] [char](30) NOT NULL,
[pbc_tid] [int] NULL,
[pbc_ownr] [char](30) NULL,
[pbc_cnam] [char](30) NOT NULL,
[pbc_cid] [smallint] NULL,
[pbc_labl] [nvarchar](254) NULL,
[pbc_lpos] [smallint] NULL,
[pbc_hdr] [nvarchar](254) NULL,
[pbc_hpos] [smallint] NULL,
[pbc_jtfy] [smallint] NULL,
[pbc_mask] [nvarchar](31) NULL,
[pbc_case] [smallint] NULL,
[pbc_hght] [smallint] NULL,
[pbc_wdth] [smallint] NULL,
[pbc_ptrn] [nvarchar](31) NULL,
[pbc_bmap] [char](1) NULL,
[pbc_init] [nvarchar](254) NULL,
[pbc_cmnt] [nvarchar](4000) NULL,
[pbc_edit] [nvarchar](31) NULL,
[pbc_tag] [nvarchar](254) NULL,
CONSTRAINT [PK_pbcatcol] PRIMARY KEY CLUSTERED
(
[pbc_tnam] ASC,
[pbc_cnam] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcatedt](
[pbe_name] [nvarchar](30) NOT NULL,
[pbe_edit] [nvarchar](254) NULL,
[pbe_type] [smallint] NOT NULL,
[pbe_cntr] [int] NULL,
[pbe_seqn] [smallint] NOT NULL,
[pbe_flag] [int] NULL,
[pbe_work] [char](32) NULL,
CONSTRAINT [PK_pbcatedt] PRIMARY KEY CLUSTERED
(
[pbe_name] ASC,
[pbe_seqn] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcattbl](
[pbt_tnam] [char](30) NOT NULL,
[pbt_tid] [int] NULL,
[pbt_ownr] [char](30) NULL,
[pbd_fhgt] [smallint] NULL,
[pbd_fwgt] [smallint] NULL,
[pbd_fitl] [char](1) NULL,
[pbd_funl] [char](1) NULL,
[pbd_fchr] [smallint] NULL,
[pbd_fptc] [smallint] NULL,
[pbd_ffce] [char](32) NULL,
[pbh_fhgt] [smallint] NULL,
[pbh_fwgt] [smallint] NULL,
[pbh_fitl] [char](1) NULL,
[pbh_funl] [char](1) NULL,
[pbh_fchr] [smallint] NULL,
[pbh_fptc] [smallint] NULL,
[pbh_ffce] [char](32) NULL,
[pbl_fhgt] [smallint] NULL,
[pbl_fwgt] [smallint] NULL,
[pbl_fitl] [char](1) NULL,
[pbl_funl] [char](1) NULL,
[pbl_fchr] [smallint] NULL,
[pbl_fptc] [smallint] NULL,
[pbl_ffce] [char](32) NULL,
[pbt_cmnt] [nvarchar](4000) NULL,
CONSTRAINT [PK_pbcattbl] PRIMARY KEY CLUSTERED
(
[pbt_tnam] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pbcatvld](
[pbv_name] [nvarchar](30) NOT NULL,
[pbv_vald] [nvarchar](254) NOT NULL,
[pbv_type] [smallint] NOT NULL,
[pbv_cntr] [int] NULL,
[pbv_msg] [nvarchar](254) NULL,
CONSTRAINT [PK_pbcatvld] PRIMARY KEY CLUSTERED
(
[pbv_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
轉出過程中, 其實PD會產生insert 及update 語法, 所以上述五個table應設立PK或Unique Index,以避免重覆轉入
若手動修改了五個table的內容想要反向更新PDM時,則
Tools >> powerbuilder >>Reverse Engineering Extended Attributes...就轉回來了.
powerdesigner 反向轉出PDM
剛開始寫程式是由powerbuilder 6.0開始的.
所以理所當然,剛開始使用case tool也就是使用powerdesigner 6.0
二者結合後有個很不錯的功能就是可以將做好的PDM直接轉出powerbuilder設計時使用的五個meta data table ,分別是
pbcatcol ,放置表格欄位, 類似sql server 2005 的sys.columns
pbcatedt,放置powerbuilder design時用的edit style, 如果開發過pb的應用系統,你會很高興有這個
pbcatfmt,放置powerbuilder design時用的foramt,也是用在開發pb
pbcattb,放置資料表, 類似sql server 2005 的sys.tables
pbcatvld,放置驗證原則.
以上幾個table,除了pbcatvld沒使用過外,其他4個在開發powerbuilder的程式時,一定是SA/SD必備且必要的設計工具了. 不然programmer在coding設計UI時真的會叫苦連天
時過多年,我已經久違powerbuilder多年, 但每次在交付資料庫設計文件時, 一定都不忘附上PDM以及相關的report, 所以無論如何, 不管是先設計PDM還是先設計資料庫開表格, 到最後一定都會產出這幾個table
powerdesigner在敝公司真是個老牌的case tool, 許多同事時至今日仍然在使用pd 6.0, 即便這個產品已經進化到15.0的版本了.但大家仍舊喜愛使用pd 6.0來進行SA/SD. 因為他算是所有pd的版本中最容易使用,最容易理解的一版了.
對我而言, 因為很習慣直接在sql server 中先design,所以通常我都會先在sqlserver先編輯好欄位中文後, 然後再於pd中反向產出PDM .因為主要都是想利用pd產出資料庫的文件.
然而,其他同事則是習慣在pd中新建PDM,然後再產生實體資料庫.
powerdesigner從6.0開始就提供了正向與反向產生PDM或db table schema的功能
在pd 15中,如果要由DB產出PDM,則在File >>Reverse Engineer>>Database
連接到要轉出的DB類型後,
先在Extension頁籤, 勾選PowerBuilder (為了日後可幾進行正反向轉換)
如果要事後匯入,可以在開啟PDM後, 在Tool >>Extension >>Import an Extension,勾選powerbuilder
選擇要轉入的資料庫連線
這樣就完成PDM.
最後,如果你是像我一樣,習慣在sql server description 維護資料表及欄位 中文說明,則產生完PDM後, 可利用 Tools >>Execute Command >>Edit/Run Script執行下列指令碼, 將comment轉換成name, 這樣你的PDM就同時可呈現欄位名稱及中文說明了.
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl
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 tbl 'table
For Each tbl In folder.tables
If (Not tbl.IsShortcut) Then
tbl.name = tbl.comment
Dim col 'column
For Each col In tbl.columns
If col.comment = "" Then
Else
col.name = col.comment
End If
Next
End If
Next
Dim view 'view
For Each view In folder.views
If (Not view.IsShortcut) Then
view.name = view.comment
End If
Next
Dim f
For Each f In folder.Packages
If (Not f.IsShortcut) Then
ProcessFolder f
End If
Next
End Sub
無論用什麼工具, 前提就是利用PD提供的正反向功能將苦差事做一次就好吧.
所以理所當然,剛開始使用case tool也就是使用powerdesigner 6.0
二者結合後有個很不錯的功能就是可以將做好的PDM直接轉出powerbuilder設計時使用的五個meta data table ,分別是
pbcatcol ,放置表格欄位, 類似sql server 2005 的sys.columns
pbcatedt,放置powerbuilder design時用的edit style, 如果開發過pb的應用系統,你會很高興有這個
pbcatfmt,放置powerbuilder design時用的foramt,也是用在開發pb
pbcattb,放置資料表, 類似sql server 2005 的sys.tables
pbcatvld,放置驗證原則.
以上幾個table,除了pbcatvld沒使用過外,其他4個在開發powerbuilder的程式時,一定是SA/SD必備且必要的設計工具了. 不然programmer在coding設計UI時真的會叫苦連天
時過多年,我已經久違powerbuilder多年, 但每次在交付資料庫設計文件時, 一定都不忘附上PDM以及相關的report, 所以無論如何, 不管是先設計PDM還是先設計資料庫開表格, 到最後一定都會產出這幾個table
powerdesigner在敝公司真是個老牌的case tool, 許多同事時至今日仍然在使用pd 6.0, 即便這個產品已經進化到15.0的版本了.但大家仍舊喜愛使用pd 6.0來進行SA/SD. 因為他算是所有pd的版本中最容易使用,最容易理解的一版了.
對我而言, 因為很習慣直接在sql server 中先design,所以通常我都會先在sqlserver先編輯好欄位中文後, 然後再於pd中反向產出PDM .因為主要都是想利用pd產出資料庫的文件.
然而,其他同事則是習慣在pd中新建PDM,然後再產生實體資料庫.
powerdesigner從6.0開始就提供了正向與反向產生PDM或db table schema的功能
在pd 15中,如果要由DB產出PDM,則在File >>Reverse Engineer>>Database
連接到要轉出的DB類型後,
先在Extension頁籤, 勾選PowerBuilder (為了日後可幾進行正反向轉換)
如果要事後匯入,可以在開啟PDM後, 在Tool >>Extension >>Import an Extension,勾選powerbuilder
選擇要轉入的資料庫連線
這樣就完成PDM.
最後,如果你是像我一樣,習慣在sql server description 維護資料表及欄位 中文說明,則產生完PDM後, 可利用 Tools >>Execute Command >>Edit/Run Script執行下列指令碼, 將comment轉換成name, 這樣你的PDM就同時可呈現欄位名稱及中文說明了.
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl
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 tbl 'table
For Each tbl In folder.tables
If (Not tbl.IsShortcut) Then
tbl.name = tbl.comment
Dim col 'column
For Each col In tbl.columns
If col.comment = "" Then
Else
col.name = col.comment
End If
Next
End If
Next
Dim view 'view
For Each view In folder.views
If (Not view.IsShortcut) Then
view.name = view.comment
End If
Next
Dim f
For Each f In folder.Packages
If (Not f.IsShortcut) Then
ProcessFolder f
End If
Next
End Sub
無論用什麼工具, 前提就是利用PD提供的正反向功能將苦差事做一次就好吧.
訂閱:
文章 (Atom)
IIS 網站無法下載中文檔名檔案因為取消高位元字元
網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...








