April 29, 2024 at 12:37 pm
Hi everyone,
So I have a SSIS package that performs some importing/exporting from MySQL database. This SSIS package uses code written in Script Task C#. To make connectivity to MySQL server, I have used MySql.Data Nuget package.
When I installed this Nuget package I had to manually add "MySql.Data.dll" file into GAC otherwise there were errors. I manually opened "Developer Command Prompt for VS 2019" by selecting Run as Administrator and ran following command:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" /i "D:\dll_files\MySql.Data.dll"
After that my SSIS package started running successfully.
But now I have deployed this SSIS package to another machine using File system deployment and I got this error:
ErrorMessage: Could not load file or assembly 'MySql.Data, Version=8.0.32.0, Culture=neutral, PublicKeyToken=c5687fc8896' or one of its dependencies. The system cannot find the file specified.
ExceptionDetails: System.IO.FileNotFoundException: Could not load file or assembly 'MySql.Data, Version=8.0.32.0, Culture=neutral, PublicKeyToken=c5687fc8896' or one of its dependencies. The system cannot find the file specified.
File name: 'MySql.Data, Version=8.0.32.0, Culture=neutral, PublicKeyToken=c5687fc8896'
at ST_c189189146e94be29bcb984b62355c9a.ScriptMain.method20240206_createDBandTables()
at ST_c189189146e94be29bcb984b62355c9a.ScriptMain.Main()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Now for this machine I can do same and do all the work manually. Place dll files in a folder and then open command prompt and run the command, but this would be a problem if I have to do this every time I deploy the ssis package to a new machine.
So my question is how can I add these nuget/dll files into ".SSISDeploymentManifest" and install them automatically when I am deploying the package?
Regards
April 29, 2024 at 12:46 pm
So my question is how can I add these nuget/dll files into ".SSISDeploymentManifest" and install them automatically when I am deploying the package?
As far as I know, you cannot. Adding the assembly to the GAC is a separate process, to be performed in addition to the package deployment.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
April 29, 2024 at 1:08 pm
So my question is how can I add these nuget/dll files into ".SSISDeploymentManifest" and install them automatically when I am deploying the package?
As far as I know, you cannot. Adding the assembly to the GAC is a separate process, to be performed in addition to the package deployment.
What if I transfer my code from SSIS script task into C# Console App? Will it cause problem like these in deployments?
April 29, 2024 at 1:29 pm
You mean build a completely separate app and simply call that from SSIS using an Execute Process task? That should work just fine.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
April 29, 2024 at 3:14 pm
it is possible to load a DLL that is NOT in the GAC - have a look at the following
https://cultivatingsoftware.wordpress.com/2018/08/21/ssis-load-dll-gac/
May 13, 2024 at 5:48 am
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply