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

时间: 2024-11-03 21:02:42

在C#中应用DTS的相关文章

.NET程序调用SSIS中的DTS包

程序 以下代码是在VB.NET(Framework 2.0)中调用SQLServer2005 的Intergration Service中DTS包.1 如果要在WebService中调用DTS,必须用VB.NET语言.因为如果用C#编写WebService的话,将无法引用Microsoft.SqlServer.ManagedDTS组件.2 将NETWORK SERVICE帐户添加到Administrator组中,否则将不能执行DTS.(会带来安全漏洞)  1 Imports Microsoft.

C#中使用DTS来导入数据及相关问题

导入数据|问题 向Sql 中导入Excel数据时,使用MS SQL的DTS功能可以很方便的导入,同时引用Dll文件,可以在程序中对导入过程进行控制. 创建DTS包的过程如下:1.在SQL企业管理器中,工具菜单选数据转换服务,导入数据按照它的图形化向导提示,可以一步步创建一个DTS包,可以选择保存在数据库.2.在SQL企业管理器中,左边树形结构中选择 数据转化服务,本地包中可以新建一个包,同样有图形化的界面建立包:拖一个Excel数据源,拖一个Sql数据源然后在任务里选 数据转化任务,原数据选Ex

如何在c#中提取dts 包运行中的错误?

问题描述 我使用以下代码运行相关的DTS包.并希望将运行过程中发生的错误纪录下来.try{Package2Classpkg2=newPackage2Class();objectpVarPersistStgOfHost=null;pkg2.LoadFromSQLServer(System.Configuration.ConfigurationSettings.AppSettings["connector"].Trim(),System.Configuration.Configuratio

SQL Server 2005 中的商务智能和数据仓库(1)

本文概述了 SQL Server 2005 Beta 2 中"商务智能"平台的增强功能.本文并非实施指南,而是为读者提供了关于"商务智能"平台增强功能的信息. 一.简介 Microsoft SQL Server 2005 是一个完整的商务智能 (BI) 平台,其中为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性.工具和功能.本文简要介绍了您在构建分析应用程序时将要用到的一些工具,并着重介绍了一些新增功能,这些新增功能使复杂 BI 系统的构建和管理比以往更

将SQL Server中的表变成txt文件

方法一:用BCP命令 bcp 实用工具 bcp 实用工具在 Microsoft? SQL Server? 2000 实例和数据文件之间以用户指定的格式复数据. 语法 bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-e err_file] [-F fir

ETL学习笔记之三:MS SQL DTS

   对于MS SQL-Server的DTS,在使用MS SQL-Server2000时,有最基本的接触,但仅限时简单的数据导入/导出.当开始了解ETL时,才发现DTS原来就是ETL的应用之一.     先不谈论DTS的好坏,但它至少MS产品的特点,易学,易用.所以,要了解ETL的应用,从DTS开始,在我看来,是个不错的选择.我只是学习,所以我没有能耐去评价它,下面,只能讲DTS的功能一一列举出来,可能这些与SQL-Server的联机帮助有些重复,但对我来说,是一个加深记忆的方法.     一:

【流数据与大屏DataV】如何使用DTS,Datahub,StreamCompute,RDS及DataV搭建流数据大屏

如何使用DTS,Datahub,StreamCompute,RDS及DataV搭建流数据大屏   一,数字化大屏的价值 我们的平台销售管理大屏实时数据展示系统,采用了阿里云最新的大数据及流计算技术,将客户的登录信息.设备信息,销售销量.金额,装车系统的客户信息.车辆信息,发运的地理位置.走向等,以飞线图.热力图.点图.传统的柱状图.饼图等多维度的形式展现给企业及相关领导.强大的视觉冲击和高度可视化的图形及数字展示给人带来清晰直观.真实和充满活力的销售数据. 图1 电商平台实施销售数据大屏

如何灵活运用SQL Server 2005 SSIS变量

随着SQL Server 2005不断的推广和普及,越来越多的企业的决策支持项目采用了SQL Server 2005商务智能解决方案.本文就SSIS开发ETL(Extract-Transform-Load,数据抽取.转换.装载的过程)过程中SSIS用户变量的使用向读者作简单介绍. 一. SSIS变量简介 SSIS(SQL Server Integration Services,SQL Server整合服务)变量分为两种,一种是系统变量,一种用户定义的变量.系统变量包含有关包.容器.任务或事件处理

MS SQL Server 2000数据转换服务部署

server|数据|转换 1. 目标 MS SQL Server做大数据量传输的时候,我们大多会用到数据传输服务.现在假设,在开发环境下,我们已经设计好了DTS包并且运行良好,接下来我们要做的事情是迁移和部署这个DTS数据包.所以,我们需要把设计环境下的DTS包保存成结构化的存储文件,并且这个文件导入到目标环境下的MS SQL Server中,最后添加作业,让MS SQL Server Angent在我们预期的事情执行这个DTS包完成数据传输工作.其中需要重点解决的一个问题是,在目标环境中,DT