小喵撰寫COM+元件開始於VB6的年代,撰寫與註冊的方式還算不是很複雜,不過隨著進入了.NET的世界,撰寫的過程也變得比較複雜了許多。
以下是撰寫的步驟
假設要撰寫的是一個資料庫DDMO中的資料表(TDMOMenu)的資料存取元件,要產生一個元件服務中的Package名稱為【KDMO1000】,裡面有個元件PDMOMenu.dll內有兩個COM+元件分別是
Project.Class
- PDMOMenu.CDMOMenu1(無Transaction):用以讀取資料
- PDMOMenu.CDMOMenu2(有Transaction):用以維護資料
撰寫步驟:
- 建專案:
- 專案內容:
- AssemblyInfo.vb:
- Class 內容:
無Transaction Class(CDMOMenu1.vb):
有Transaction Class(CDMOMenu2.vb):
撰寫完相關的程式後,接著就是Build專案,然後就會依照Project的Property設定的位置產生dll
補充,感謝網友小魔告知內容有誤,把取得資料庫連線的Function補上
說明:
存取資料會透過ConnString的設定來指定要存取的是哪台Server上的哪個資料庫,使用驗證方式是用什麼方式。如果ConnString寫在元件內,那麼當Server的位址改變、甚至資料庫名稱改變,那麼就必須把元件的程式一個個叫出來修改,然後再編譯註冊,這樣的過程太過繁複
那麼怎麼把ConnString的設定抽離元件,小喵的做法是建立一個.ini的文字檔,放在C:\DataLink,裡面就放著ConnString的內容,然後在元件中透過System.IO讀取該文字檔的內容。
如此一來,未來資料庫有異動(位置、名稱),就可以不需要改寫元件,直接修改設定檔即可。