尝试使用c#从.net运行.dtsx包

时间:2009-02-04 18:26:44

标签: c# sql-server ssis

我有类似的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();

 //           }
//        }
//    }

2 个答案:

答案 0 :(得分:1)

为什么不执行

dtexec.exe -f package.dtsx /conf ConfigurationIfYouGotOne

使用System.Diagnostics.Process.Start(xxx)

或者,如果将SSIS部署到SQL Server,则可以使用存储过程执行它。

答案 1 :(得分:1)

这是我发现的一个很好的例子:

  1. 启动Visual Studio开发环境,并使用首选开发语言创建新应用程序。此示例使用控制台应用程序;但是,您也可以从Windows窗体应用程序,ASP.NET Web窗体或Web服务或Windows服务运行包。

  2. 在“项目”菜单上,单击“添加引用”,然后添加对Microsoft.SqlServer.ManagedDTS.dll的引用。单击“确定”。

  3. 使用Visual Basic Imports语句或C#using语句导入Microsoft.SqlServer.Dts.Runtime命名空间。

  4. 在主例程中添加以下代码。完成的控制台应用程序应如下所示。


  5.   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());
    

    来源:http://msdn.microsoft.com/en-us/library/ms136090.aspx