C# 访问 SSIS 的 package
2009-07-06 20:49:34 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

通常大家在做 BI 或者数据集成时,都会使用 SQL Job 调用 SSIS 包,但是有时候需要编程来执行包。
SSIS 包有三种部署方式:文件部署,SQL Server 目录和数据库。
Java 游戏中的各种图形是怎么实现的啊? hibernate查询问题 Java 生产者 消费者 哪里有gdi+做的小游戏(代码)? Java中线程的问题 好烦 是否可以在richedit 指定区域加背景颜色? HWND_BROADCAST 死活sendMessage不出 用递归函数逆序输出数组中的10个元素,main()中的换行语句为什么不起作用?~~~~... GDI+ 如何解决闪烁问题? 急用!! 双精度数字类型如何保留小数点后数字? 线性四叉树编码 如何对比这样的两个字符串是否相等? 有没有在 SYS 驱动里实现 TCP 通讯的代码,给一份,谢谢! 誰有Unicode UCS-4 中文字符編碼 占4byte那種的 请各位高手帮我判断一下,如下的式子是否相等,为什么?主要是为什么,请解释一下。... 类的问题 求一SQL 写法 我很想知道我以后的工作真正需要哪些技术 上传到服务器中的WORD文档中文文件名读出来后就乱码? 弱弱的问个有关图片拆分的问题! 技术RSS列表 莲香田鸡 莲叶入肴成美味 麻花炸制省油法 麻辣蚕豆 麻仁牛柳 马铃薯的煮法 马蹄冻 每日一瓜菜,身体顶呱呱 每周给菜板消毒 美美的心里美美的菜 美容养颜话猪皮 美容药膳 美食进冰箱如何保健康 美食巧“隔”热 美式手抓羊肉饭 落汤钱 萝卜贮藏方法 萝卜松 莲之食韵 莲子冰 美食
文件部署方式
using DTS = Microsoft.SqlServer.Dts.Runtime;
using System.Collections;
using System.Collection.Generic;
DTS.Package dtsPackage = null;
DTS.Application dtsApplication = null;
dtsApplication = new DTS.Application();
//指定文件路径加载 package
dtsPackage = dtsApplication.LoadPackage(@"c:\Package.dtsx", null);
DTS.Variables packageVariables1 = dtsPackage.Variables;
packageVariables1["FirstVar"].Value = "12345321"; //传递参数
packageVariables1["SecondVar"].Value = "2312";
DTS.DTSExecResult packageResult = dtsPackage.Execute();
SQL Server 目录
string p = @"C:\Package.dtsx";
// 1 判断 package 是否存在
Boolean folderExists = app.FolderExistsOnSqlServer("myNewFolder1", ".", null, null);
Console.WriteLine("Folder exists? {0}", folderExists);
// 2 加载 package
DtsPackage.Package pkg = app.LoadFromSqlServer("newPkg", ".", String.Empty, String.Empty, null);
DtsPackage.Variables vars2 = pkg.Variables;
vars2["OpeId"].Value = "value from c#";
DtsPackage.DTSExecResult result2 = pkg.Execute();
//3 删除包
app.RemoveFolderFromSqlServer("myNewFolder1", ".", null, null);
folderExists = app.FolderExistsOnSqlServer("myNewFolder1", ".", null, null);
Console.WriteLine("Folder exists? {0}", folderExists);
数据库:关于数据库的方式,目前实际没有应用过,今后如果测试成功后再补充完整。
更多精彩
赞助商链接