Попытка запустить пакет .dtsx из .net с помощью c # - PullRequest
0 голосов
/ 04 февраля 2009

У меня похожий код для 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 ]

1 голос
/ 30 марта 2013

Вот хороший пример, который я нашел:

  1. Запустите среду разработки Visual Studio и создайте новое приложение на предпочитаемом вами языке разработки. В этом примере используется консольное приложение; однако вы также можете запустить пакет из приложения Windows Forms, веб-формы ASP.NET или веб-службы или службы Windows.

  2. В меню «Проект» выберите «Добавить ссылку» и добавьте ссылку на файл Microsoft.SqlServer.ManagedDTS.dll. Нажмите ОК.

  3. Используйте оператор импорта Visual Basic или оператор C # для импорта пространства имен Microsoft.SqlServer.Dts.Runtime.

  4. Добавьте следующий код в основную подпрограмму. Завершенное консольное приложение должно выглядеть следующим образом.


  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

1 голос
/ 09 февраля 2009

Почему бы просто не выполнить

dtexec.exe -f package.dtsx /conf ConfigurationIfYouGotOne

с использованием System.Diagnostics.Process.Start(xxx)?

Или, если SSIS развернут на SQL Server, вы можете выполнить его с помощью хранимой процедуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...