打印

[NET精华教程] .net教程:在c#中应用dts

.net教程:在c#中应用dts

在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();





TOP

返回顶部
AYBlue

Processed in 0.056087 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-8 15:44 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP