在C#中應用DTS

來源:互聯網
上載者:User
在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();
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.