2009-10-26 6 views
2

J'appelle le package SSIS à partir d'une interface utilisateur Windows. Les deux SSIS & .Net app sont créés en 2008. Le package SSIS est stocké dans le système de fichiers. Quand je courais l'application .Net je suis arrivé erreur:Appel du package SSIS à partir de .Net

The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.

Exception Détail -

Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException was unhandled 
    HelpLink="#-1073659847" 
    Message="The package failed to load due to error 0xC0011008 \"Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.\". This occurs when CPackage::LoadFromXML fails.\r\n" 
    Source="" 
    ErrorCode=-1073672184 
    StackTrace: 
     at Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events, Boolean loadNeutral) 
     at SSISCall.Form1.Execute_Click(Object sender, EventArgs e) in D:\SSISCall\SSISCall\Form1.cs:line 36 
     at System.Windows.Forms.Control.OnClick(EventArgs e) 
     at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 
     at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
     at System.Windows.Forms.Control.WndProc(Message& m) 
     at System.Windows.Forms.ButtonBase.WndProc(Message& m) 
     at System.Windows.Forms.Button.WndProc(Message& m) 
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
     at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
     at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
     at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) 
     at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
     at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
     at SSISCall.Program.Main() in D:\SSISCall\SSISCall\Program.cs:line 17 
     at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: System.Runtime.InteropServices.COMException 
     HelpLink="#-1073659847" 
     Message="The package failed to load due to error 0xC0011008 \"Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.\". This occurs when CPackage::LoadFromXML fails.\r\n" 
     Source="" 
     ErrorCode=-1073672184 
     StackTrace: 
      at Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass.LoadPackage(String FileName, Boolean loadNeutral, IDTSEvents90 pEvents) 
      at Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events, Boolean loadNeutral) 
     InnerException: 

Le code que j'utilise est très simple:

string packageLocation; 
Package ssisPackage; 
Microsoft.SqlServer.Dts.Runtime. 
Application ssisApplication; 
DTSExecResult ssisPackageResult; 
packageLocation [email protected]"D:\SSISCall\Package.dtsx"; 
ssisApplication =new Microsoft.SqlServer.Dts.Runtime.Application(); 
ssisPackage = ssisApplication.LoadPackage(packageLocation,null); ----Getting error here 
ssisPackageResult = ssisPackage.Execute(); 
Console.WriteLine(ssisPackageResult.ToString()); 
Console.ReadKey(); 

S'il vous plaît suggérer.

+0

Le problème se produit lorsque vous exécutez le package à partir de la ligne de commande, autrement dit, en dehors de votre application .NET? Aussi, le paquet tente-t-il de charger des fichiers ou d'autres paquets? –

Répondre

3

Avez-vous installé des composants SSIS sur l'ordinateur sur lequel vous exécutez ce package? Sinon, il ne fonctionnera pas - voir http://msdn.microsoft.com/en-us/library/ms403348.aspx

La version de SSIS est-elle installée sur l'ordinateur 2008? Sinon, il ne fonctionnera pas - les pièces de 2005 et 2008 ne sont pas interchangeables.

Le lecteur "D" est-il un lecteur mappé? Si c'est le cas, votre code ne sera probablement pas exécuté sans surveillance (avec une session utilisateur non connectée) - utilisez plutôt les chemins UNC.

1

Obtention exactement la même erreur sur l'appel Lame loadPackage.

Ce code fonctionnait très bien pour SQL 2005.

EnvDTE90 ne ressemble pas à ajouter une fonctionnalité au modèle d'application DTS.

Référencer les deux EnvDTE80 et EnvDTE90 ne fait aucune differnece

Questions connexes