SSIS Dtsx - Error when i call a dtsx using and external library in a script task

-1

I have a dtsx that use an external ddl (register in GAC) and that is localted in C:\Program Files\Microsoft SQL Server\110\DTS\Binn.

When I run the dtsx using DTEXEC.exe it work all fine.

But, when i call it for .net (for testing)

Dim app As New Application
Dim pkgResults As DTSExecResult
Dim var = pkg.Variables
Dim eventListener As New EventListener()

pkgResults = pkg.Execute(Nothing, var, eventListener, Nothing, Nothing)

I get this error:

System.IO.FileNotFoundException: Unable to load file or assembly 'My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455' or one of its dependencies. The system cannot find the file specified. à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e) à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PreExecute() à Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)

--Sorry i didnt translate last part of the error ---

=== Informations d'état de liaison préalable === JRN : DisplayName = My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455 (Fully-specified) JRN : Appbase = file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/ JRN : PrivatePath initial = NULL Assembly appelant : (Unknown).

JRN : cette liaison démarre dans le contexte de chargement de default. JRN : utilisation du fichier de configuration de l'application : C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\ENTERPRISE\COMMON7\IDE\EXTENSIONS\TESTPLATFORM\testhost.x86.exe.Config JRN : utilisation du fichier de configuration d'hôte : JRN : utilisation du fichier de configuration de l'ordinateur à partir de C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. JRN : référence post-stratégie : My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455 JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/My.Lib.DLL. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/My.Lib/My.Lib.DLL. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/Extensions/My.Lib.DLL. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/Extensions/My.Lib/My.Lib.DLL. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/My.Lib.EXE. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/My.Lib/My.Lib.EXE. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/Extensions/My.Lib.EXE. JRN : tentative de téléchargement de la nouvelle URL file:///C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/Extensions/My.Lib/My.Lib.EXE.

Source=Microsoft.VisualStudio.QualityTools.UnitTestFramework Arborescence des appels de procédure : à Microsoft.VisualStudio.TestTools.UnitTesting.Assert.HandleFailure(String assertionName, String message) à Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail(String message) à Microsoft.SqlServer.Dts.Runtime.ReverseIDTSEventsWrapper.OnError(IDTSRuntimeObject100 source, Int32 ErrorCode, String SubComponent, String Description, String HelpFile, Int32 HelpContext, String IdofInterfaceWithError, Boolean& Cancel)

If I put my dll in C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/ENTERPRISE/COMMON7/IDE/EXTENSIONS/TESTPLATFORM/ ) I have :

Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException HResult=0x80131500 Message=Échec de Assert.Fail. Erreur dans l'etl de Microsoft.SqlServer.Dts.Runtime.TaskHost/Composant Script Analyse AdressePersonnelle [28] : System.BadImageFormatException: Impossible de charger le fichier ou l'assembly 'My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect. Nom de fichier : 'My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455' à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e) à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PreExecute() à Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)

=== Informations d'état de liaison préalable === JRN : DisplayName = My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455 (Fully-specified) JRN : Appbase = file:///D:/MyProject/bin JRN : PrivatePath initial = NULL Assembly appelant : (Unknown).

JRN : cette liaison démarre dans le contexte de chargement de default. JRN : utilisation du fichier de configuration de l'application : D:\MyProject\bin\My.Project.dll.config JRN : utilisation du fichier de configuration d'hôte : JRN : utilisation du fichier de configuration de l'ordinateur à partir de C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. JRN : référence post-stratégie : My.Lib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d1ad83fd5a72455 JRN : tentative de téléchargement de la nouvelle URL file:///D:/MyProject/bin/My.Lib.DLL. ERR : impossible de terminer l'installation de l'assembly (hr = 0x8007000b). Détection terminée.

Source=Microsoft.VisualStudio.QualityTools.UnitTestFramework Arborescence des appels de procédure : à Microsoft.VisualStudio.TestTools.UnitTesting.Assert.HandleFailure(String assertionName, String message) à Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail(String message) à Microsoft.SqlServer.Dts.Runtime.ReverseIDTSEventsWrapper.OnError(IDTSRuntimeObject100 source, Int32 ErrorCode, String SubComponent, String Description, String HelpFile, Int32 HelpContext, String IdofInterfaceWithError, Boolean& Cancel)

By the way, i sue my .Net code for many other dtsx and it work fine because they dont use this dll.

.net
ssis
asked on Stack Overflow Nov 18, 2020 by Ben

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0