2009-02-04 7 views
0

J'ai un code similaire pour vb et .net qui exécute mon paquet SSIS très bien. Le problème est le code C# et .net n'exécute pas mon paquet .dtsx. Je reçois toutes sortes d'erreurs en cluding ne pas être en mesure de trouver le fichier sur mon bureau. J'ai essayé d'exécuter à distance le paquet et localement. Est-ce mon code. Je ne suis pas sure de ce que je vais faire ensuite. J'ai toutes les bonnes références.Essayer d'exécuter un paquet .dtsx à partir de .net avec C#

// 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

pourrait vous modifier votre message et formater le code lisible à quelque chose, s'il vous plaît. –

Répondre

1

Pourquoi ne pas simplement exécuter le

dtexec.exe -f package.dtsx /conf ConfigurationIfYouGotOne 

en utilisant System.Diagnostics.Process.Start(xxx)?

Si le SSIS est déployé sur un serveur SQL Server, vous pouvez l'exécuter avec une procédure stockée.

1

Voici un bon exemple, j'ai trouvé:

  1. Démarrez l'environnement de développement Visual Studio et créer une nouvelle application dans votre langue préférée de développement. Cet exemple utilise une application de console; Cependant, vous pouvez également exécuter un package à partir d'une application Windows Forms, d'un formulaire Web ASP.NET ou d'un service Web ou d'un service Windows.

  2. Dans le menu Projet, cliquez sur Ajouter une référence et ajoutez une référence à Microsoft.SqlServer.ManagedDTS.dll. Cliquez sur OK.

  3. Utilisez l'instruction Visual Basic Imports ou l'instruction C# using pour importer l'espace de noms Microsoft.SqlServer.Dts.Runtime.

  4. Ajoutez le code suivant dans la routine principale. L'application de console terminée doit ressembler à l'exemple suivant.


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

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

Questions connexes