我有类似的vb和.net代码,它运行我的SSIS包就好了。问题是c#代码和.net不运行我的.dtsx包。我得到各种错误,包括无法在我的桌面上找到该文件。我尝试远程运行包和本地。是我的代码吗?我不知道下一步该做什么。 我确实有所有正确的参考资料。
// public class clsSSIS1
// {
// public static void RunDTSX()
// {
// string pkgLocation;
// pkgLocation = "C:\\Documents and Settings\\otmxm1\\Desktop\\LoadBeaPayroll\\LoadBeaPayroll\\bin\\package.dtsx";
// Application app = new Application();
// Package package = null;
// Package pkg = app.LoadPackage(pkgLocation, null,true);
//Package pkg = app.LoadPackage(@"C:\Documents and Settings\otmxm1\Desktop\LoadBeaPayroll\LoadBeaPayroll\bin\package.dtsx", null);
// DTSExecResult result = package.Execute();
//Console.WriteLine (result.ToString);
// Console.ReadKey();
// }
// }
// }
答案 0 :(得分:1)
为什么不执行
dtexec.exe -f package.dtsx /conf ConfigurationIfYouGotOne
使用System.Diagnostics.Process.Start(xxx)
?
或者,如果将SSIS部署到SQL Server,则可以使用存储过程执行它。
答案 1 :(得分:1)
这是我发现的一个很好的例子:
启动Visual Studio开发环境,并使用首选开发语言创建新应用程序。此示例使用控制台应用程序;但是,您也可以从Windows窗体应用程序,ASP.NET Web窗体或Web服务或Windows服务运行包。
在“项目”菜单上,单击“添加引用”,然后添加对Microsoft.SqlServer.ManagedDTS.dll的引用。单击“确定”。
使用Visual Basic Imports语句或C#using语句导入Microsoft.SqlServer.Dts.Runtime命名空间。
在主例程中添加以下代码。完成的控制台应用程序应如下所示。
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation =
@"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" +
@"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());