zoukankan      html  css  js  c++  java
  • 在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();
  • 相关阅读:
    Q/GDW 10233-2018等国家电网公司电动汽车充电设备相关标准
    TB/T 2628-2020 铁路预制普通钢筋混凝土简支梁
    GB/T 51396-2019 槽式太阳能光热发电站设计标准
    GB/T 17467-2020 高压/低压预装式变电站
    GB/T 3906-2020 3.6 kV~40.5 kV交流金属封闭开关设备和控制设备
    GB 51388-2020 镍冶炼厂工艺设计标准
    GB/T 51409-2020 数据中心综合监控系统工程技术标准
    linux-09(查看文件命令tail)
    jmeter-02
    2019-3-19记随手记面试
  • 原文地址:https://www.cnblogs.com/zhuor/p/266203.html
Copyright © 2011-2022 走看看