通过VisualC#.NET建一个DTS任务

通过VisualC#.NET建一个DTS任务,第1张

通过VisualC#.NET建一个DTS任务,第2张

本文描述了如何使用Visual C#。net创建DTS自定义任务。您可以通过C#.net创建自定义任务来扩展DTS的功能,之后您可以安装并注册该任务,它会出现在DTS设计中,就像默认的DTS任务一样。简而言之,您可以使用。NET Framework来创建自定义任务。

在本文中,除了创建DTS自定义任务之外,还包括以下内容:

1.本文中的自定义代码分为编译、注册和安装自定义任务;

2.这部分的一个与众不同的地方是可以运行自定义任务;

3.在开发过程中,您可以使用本文中提到的一些工具(除非另有说明,这些工具已经包含在。NET的命令行来运行这些工具。网)。

为DTSSpkg.dll创造一个及时的一揽子计划。

如果一个微软。基于. NET的客户端访问COM组件,您必须使用一个包(包含在该组件中)。这种包是一个即时运行包(RCW ),你也可以通过开放的Dtspkg.dll类型库编译它。你也可以使用类型库导出工具(Tlbimp.exe)来编译RCW,比如:

tlbimp.exe " C:\ program files \ Microsoft SQL server \ 80 \ tools \ Binn \ dtspkg . dll "/out:微软。SQLServver.DTSPKG80.dll/keyfile:DTSPkg.snk

“/keyfile”参数使用public或private关键字表示具有强类型名称的Microsoft.SQLServer.DTSPkg80.dll。使用强类型名称工具(sn.exe)在DTSPkg.snk之前创建关键字:

sn.exe–k dtspkg . snk

您应该像其他全局集合缓存一样使用强类型名称,因为您安装了正在运行的包。

在全局集合缓存中安装正在运行的包。

安装带有全局集合缓存工具的运行包(GaCutil.exe):

gacutil.exe/Microsoft.SQLServer.DTSPkg80.dll

安装运行包后,您可以像在. NETC#项目中引用一样添加它。

为自定义任务添加代码。

代码的自定义注册。。NET不像COM组件那样打开DllReginsterServer和DllUnreGISterServer的门户,但是可以使用ComRegisterFunctionAttribute类来执行任务注册和注销。在自定义类声明之前添加以下代码:

[Guid(" a 39847 f 3-5845-4459-A25E-de 73 A8 E3 CD 48 "),ComVisible(true)]

[ProgId("DTS。简单任务")]

公共类SimpleTask : CustomTask

{

//自定义任务的实现

}

下面的代码是一个函数注册的例子。所有函数的代码都在自定义任务的编译、注册和安装部分。

【系统。runtime . interop services . comregisterfunctionattribute()]

静态void注册服务器(t型)

{

//注册自定义任务的代码

}

注册函数为注册添加以下键值。

HKEY _类_根\ CLSID \ a 39847 f 3-5845-4459-A25E-de 73 A8 E3 CD 48 \实现的类别\ { 10020200-EB1C-11CF-AE6E-00aa 004 a 34d 5 }

10020200-EB1C-11CF-AE6E-00a 004 a 34d 5是DTS包对象的类别号。因为所有自定义任务都执行自定义接口,所以必须注册它们。注册功能添加以下注册键值:

HKEY _当前_用户\软件\微软\微软SQL Server \ 80 \ DTS \枚举\任务\ a 39847 f 3-5845-4459-A25E-de 73 A8 E3 CD 48

下面的DTS任务缓存目录列表使自定义任务出现在DTS设计器中:

HKEY _当前用户\软件\ Microsoft \ Microsoft SQL Server \ 80 \ DTS \枚举\任务\

下面的代码演示了未注册函数的任务移除的执行。注册函数是。NET运行时。要浏览该函数的完整代码,可以阅读“编译、注册和安装自定义任务”一节:

【系统。runtime . interop services . comunregisterfunctionattribute()]

静态void unregister server(t类型)

{

//注销自定义任务的代码

}

免注册功能通过从注册表中删除以下键值来从DTS任务缓存中删除任务

HKEY _当前_用户\软件\微软\微软SQL Server \ 80 \ DTS \枚举\任务\ a 39847 f 3-5845-4459-A25E-de 73 A8 E3 CD 48

最后,像dual_interface COM组件一样打开自定义任务。从所有类的公共、非静态字段、属性和方法创建一个默认接口。在自定义任务源文件中使用以下代码行后:

[assembly:class interface(class interface type。自动双重)]

这部分代码已经完整列出。

添加功能性自定义任务。

本文的“编译、注册和安装自定义任务”一节包含一个简单的DTS自定义任务代码。该任务有两个属性:Name和Description,Description属性的值将出现在消息框中。这个例子描述了一个最小的代码。您可以使用现有的功能性DTS来定义任务。但是,您可以通过执行CustomTaskUI接口来创建用户界面,但这一点不在讨论之列。通过只执行自定义界面,DTS设计器为自定义任务创建了一个默认用户界面。

执行自定义任务接口的所有DTS自定义任务。自定义用户界面由两个属性组成,一个集合和一个方法:

1.名称和描述属性;

2.属性集;

3.执行方法。

的所有自定义任务都应执行属性、属性集和执行方法。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 通过VisualC#.NET建一个DTS任务

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情