2016-12-20 4 views
0

Ich habe ein einfaches SSIS-Paket in VS2015 entwickelt. Anstatt dies für die Terminierung auf einem SQL Server zu implementieren, werde ich jetzt eine Desktop-Anwendung haben, die den Job manuell startet.SSIS-Paket funktioniert nicht, wenn versucht wird, programmgesteuert zu implementieren

Wenn ich zu dem Speicherort auf meinem lokalen Computer gehe und ich auf die Datei Package.dtsx doppelklicke, wird ein Execute Package Utility geöffnet. Wenn ich auf Ausführen klicke, läuft das Paket einwandfrei und alle Schritte sind erfolgreich.

Wenn ich eine Desktop-Anwendung erstellen und ausführen von ihr wie folgt aus (dies ist Microsoft Code dafür, wie ein lokales SSIS-Paket manuell bereitstellen zu):

  string pkgLocation; 
      Package pkg; 
      Microsoft.SqlServer.Dts.Runtime.Application app; 
      DTSExecResult pkgResults; 
      pkgLocation = @"C:\SSIS\TestSSIS\Package.dtsx"; 
      app = new Microsoft.SqlServer.Dts.Runtime.Application(); 
      pkg = app.LoadPackage(pkgLocation, null); 
      pkgResults = pkg.Execute(); 

      if (pkgResults.ToString() != "Success") 
      { 
       if (pkg.Errors.Count > 0) 

       { 
        string errors = ""; 
        int errorID = 0; 

        foreach (DtsError error in pkg.Errors) 
        { 
         errors = errors + error.Description.ToString(); 
         errorID++; 
        } 
        MessageBox.Show(errors + "Total Error Count:" + errorID.ToString()); 
       } 

ich einige Fehlermeldungen erhalten: Für jeden Schritt in diesem Prozess erhalte ich diesen Fehler:

To run a SSIS Package outside of SQL Server Data Tools you must install [Step Name] of Integration Services or higher.

Dieser spezifische Fehler macht keinen Sinn. Ich habe Hinweise gesehen, dass es sich um einen MS Bug handelt, dass der Fehler falsch ist, aber keine der bisher angewandten Lösungen auf meine Situation zutrifft. Irgendwelche Ideen, wie wir das lösen können?

+1

Haben Sie SSIS auf dem Computer installiert, auf dem Sie Ihre App ausführen? Dieser Fehler ist * DTS_E_SSISSTANDALONENOTINSTALLED * von [MS-Fehlerliste] (https://msdn.microsoft.com/en-us/library/ms345164.aspx). Eine weitere mögliche Situation - Sie referenzieren Baugruppenversionen, die nicht in der Teststation verfügbar sind. – Ferdipux

+0

Eine andere [ähnliche Diskussion über SO] (http://stackoverflow.com/questions/37726801/running-anssis-package-developed-in-sql-server-data-tools-for-visual-studio-201?rq = 1). Autor beendet mit Neuinstallation von SSIS. – Ferdipux

Antwort

1

Ich habe das Problem gefunden. Hier zu posten, wenn es jemand anderem hilft. Es stellt sich heraus, dass der Fehler selbst viele Bedeutungen annehmen kann. In meinem Fall

ASSEMBLY: Microsoft.SqlServer.Dts.Runtime 

Es hatte zwei Versionen, eine 12,0 und 13,0. Ich habe versehentlich die korrekte Assembly-Version nicht hinzugefügt, so dass es der Anwendung erschien, dass ich SSIS nicht installiert hatte.

Lobende Erwähnung an @Ferdipux für den Hinweis, dass Assemblies dies verursachen und die MSErrorList untersuchen könnten.

Verwandte Themen