用Visual C#.NET建一個DTS任務
2007/1/24 21:38:57
文描述了如何利用Visual C#.net 創建一個DTS 自定義的任務。你可以通過C#.net創建自定義的任務的方式擴展DTS的功能。之后你可以安裝并注冊任務,他講出現在DTS設計其中,就像默認的DTS任務。總之,你能夠使用.NET Framework創建自定義的任務。

  在本文中除了講創建一個DTS自定義任務外,還包括一下部分內容:

  1、這篇文章中自定義的代碼分為編譯、注冊和安裝自定義任務;

   2、這部分一個有特色的部分就是你可以運行自定義的任務; 

   3、在開發過程中你可以使用本文提及的一些工具(除非另有說明,這些工具已經包含在.NET中了,您可以通過.NET的命令行運行這些工具)。 

   為DTSSpkg.dll創建一個及時的包

  如果一個基于微軟.NET客戶機訪問一個COM組件,你必須使用一個包(這個組件包含的)。這類的包是及時的運行包(RCW)并且你也可以通過開放Dtspkg.dll的類型庫編譯。你也可以使用類型庫導出工具(Tlbimp.exe)編譯RCW,如:

    tlbimp.exe “C:\ProgramFiles\Microsoft SQLServer\80\tools\Binn\dtspkg.dll”/out:Microsoft.SQLServver.DTSPKG80.dll/keyfile:DTSPkg.snk

“/keyfile”參數代表Microsoft.SQLServer.DTSPkg80.dll帶有強類型名用public或private關鍵字。使用強類型名工具(sn.exe)在DTSPkg.snk 前創建關鍵字:

sn.exe –k DTSPkg.snk

  你應該使用一個強類型名像其他的全局集合緩存,因為你安裝了運行包。

  在全局集合緩存中安裝運行包

  用全局集合緩存工具(GaCutil.exe)安裝運行包:

gacutil.exe /I Microsoft.SQLServer.DTSPkg80.dll 

 安裝了運行包后,你可以像添加.NETC#工程中的引用一樣的添加。
   
  為自定義的任務添加代碼 

  代碼的自定義注冊。.NET沒有開放DllReginsterServer 和DllUnregisterServer 像COM組件的入口,但是你可以使用ComRegisterFunctionAttribute 類執行任務注冊和撤銷注冊。在自定義類聲明之前添加下面代碼:

[Guid("A39847F3-5845-4459-A25E-DE73A8E3CD48"), ComVisible(true)]

[ProgId("DTS.SimpleTask")]

   
public class SimpleTask : CustomTask 



//implementation of custom task 


  下面的代碼是一個函數注冊的范例執行。函數的全部代碼在自定義任務的編譯、注冊和安裝部分 。

    [System.Runtime.InteropServices.ComRegisterFunctionAttribute()] 

static void RegisterServer(Type t) 



//code to register custom task 


  注冊函數增加下面的鍵值用來注冊。

HKEY_CLASSES_ROOT\CLSID\A39847F3-5845-4459-A25E-DE73A8E3CD48\Implemented Categories\{10020200-EB1C-11CF-AE6E-00AA004A34D5} 

10020200-EB1C-11CF-AE6E-00AA004A34D5是DTS包對象的類編號。因為所有的自定義的任務執行自定義的接口所以必須注冊。注冊函數添加下面的注冊鍵值:

HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Enumeration\Tasks\A39847F3-5845-4459-A25E-DE73A8E3CD48

  下面的DTS任務緩存目錄列表,使自定義的任務出現在DTS設計器中:

HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Enumeration\Tasks\

  下面的代碼示范非注冊函數的任務移出的執行。面注冊函數是ComUnregisterFunctionAttribute類在.NET運行庫的一部分。想瀏覽這個函數的完整代碼,你可以看“編譯、注冊和安裝自定義任務”部分:

    [System.Runtime.InteropServices.ComUnregisterFunctionAttribute()] 

static void UnregisterServer(Type t) 



//code to unregister custom task 

}    免注冊函數通過從注冊表中刪除下面鍵值從

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 好吊妞欧美视频免费| 欧美丰满熟妇BBB久久久| 国产三级久久久精品麻豆三级| 120秒男女动态视频免费| 女人国产香蕉久久精品| 丰满多毛的大隂户毛茸茸| 晚上看b站直播软件| 亚洲国产视频一区| 激情欧美一区二区三区| 午夜国产羞羞视频免费网站| 陈冰的视频ivk| 国产无遮挡又黄又爽免费网站| 8av国产精品爽爽ⅴa在线观看 | 人妻少妇看a偷人无码精品| 美女脱得一二净无内裤全身的照片| 国产在线jyzzjyzz免费麻豆| 性一交一乱一伧老太| 国产超碰人人模人人爽人人添| jzzjzzjzz日本| 快穿之肉玩具系统| 中文字幕在线观看一区二区三区| 日本在线看片免费人成视频1000| 亚洲AV无码专区在线观看亚| 欧美在线一卡二卡一卡3卡4卡5| 亚洲精品福利你懂| 男人和女人在床做黄的网站| 再深点灬舒服灬太大了网站| 美女被免费网站在线视频免费 | 日韩精品免费一级视频| 亚洲人成网站日本片| 欧美特黄视频在线观看| 亚洲视频一区网站| 男彩虹用的app小蓝| 办公室开档情趣内衣做爽视频| 老师在办公室被躁在线观看| 国产乱人伦精品一区二区在线观看| 黄网站色视频免费观看45分钟 | 国产成人一区二区在线不卡| 色综合久久天天综合| 国产精品久关键词| 2021久久精品国产99国产精品|