.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在C#中应用DTS

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

C#中应用DTS

 

本文将关注列出、执行DTS包和改变DTS包的属性或者全局变量。

 

首先我们看看如何列出保存在本地(local or (local)\NetSDK)服务器为本地包。在DOTNET中处理DTS包的关键是增加对“Microsoft DTSPackage Object Library”的引用(dts.dll)。

 

以下代码可以列出服务器上的本地包。

 

static void Main(string[] args)

{

DTS.Application App=new DTS.Application();

DTS.PackageSQLServer package= App.GetPackageSQLServer("(local)\\NetSDK", "sa", "",

DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default);

DTS.PackageInfos Infos;

Infos = package.EnumPackageInfos("", false, "");

foreach(DTS.PackageInfo Info in Infos)

{

Console.WriteLine("Name : {0}\tVersionID : {1}",Info.Name,Info.VersionID);

}

Console.Read();

} 

 

取保存在格式化存储文件中的dts包属性代码如下:

 

static void Main(string[] args)

{

DTS.Package2Class package=new DTS.Package2Class();

DTS.SavedPackageInfos Infos =

               package.GetSavedPackageInfos("C:\\Pubs2Pubs2Package.dts");

foreach(DTS.SavedPackageInfo Info in Infos)

{

Console.WriteLine("Name : {0}\tVersionID : {1}",

                            Info.PackageName,Info.VersionID);

}

package.UnInitialize();

Console.Read();

}

 

通过Package2Class对象可以执行dts包,或者操作dts包的属性。代码如下:

 

static void Main(string[] args)

{

DTS.Package2Class package=new DTS.Package2Class();

try

{

Object MIA=System.Reflection.Missing.Value;

package.LoadFromSQLServer("(local)\\NetSDK",

                  "sa", "", DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default, "", "",

                  "{F580DFC4-1F6A-4D70-B6A1-1C200B0D7890}", "CustomTaskPKG",ref MIA);

Console.WriteLine(package.Description);

package.Description="My description";

Console.WriteLine(package.Description);

}

catch(Exception ex)

{

Console.WriteLine(ex.Message);

}

finally

{

package.UnInitialize();

package=null;

}

Console.Read();

}

 

如果要使用最新的版本信息,则不填写版本id信息,代码如下:

package.SaveToSQLServer("(local)\\NetSDK", "sa", "",

DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default, "", "","",ref MIA,false);

 

以下是设置dts包全局变量的过程:

static void Main(string[] args)

{

DTS.Package2Class package = new DTS.Package2Class();

try

{

Object MIA=System.Reflection.Missing.Value;

package.LoadFromStorageFile("C:\\Pubs2Pubs2Package.dts","","","",

"Pubs2Pubs2Package",ref MIA);

package.GlobalVariables.AddGlobalVariable("MyVariable","MyValue");

foreach(DTS.GlobalVariable GVar in package.GlobalVariables)

Console.WriteLine("Name : {0}\tValue : {1}",GVar.Name,GVar.Value);

}

catch(Exception ex)

{

Console.WriteLine(ex.Message);

}

finally

{

package.UnInitialize();

}

Console.Read();

}

 

修改全局变量值语句:

package.GlobalVariables.Item("MyVariable").let_Value("Hello from C#");

 

以下语句将改动保存到dts包中。

package.SaveToStorageFile("C:\\Pubs2Pubs2Package.dts","","",ref MIA,false);

 

执行包:

package.Execute();

 

  




相关文章

相关软件