We have upgraded from VS2019 to VS2022. We have hundreds of packages, tested a lot of them. One of the older ones now does not open. When opening a package in this solution we first get three errors referring to the connections 'Unable to create the type with the name OLEDB'. This concerns 2 MSQSQL drivers and one Sybase Anywhere driver. In the .conmgr files I see no difference with other working conn managers. After these three errors the package further opens and all tasks are shown as SSIS.ReplacementTask.
Below you see the xml of such a task before and after opening the package. The package was created in 2019 using VS2012.
I only found this post which seems to describe the problem. However, we are using the actual versions of both VS2022 en the SSDT, not any beta releases. https://learn.microsoft.com/en-us/answers/questions/1188117/errors-upgrading-ssis-2014-packages-to-2022-using
Is there a way to solve this without reverting to an older version of Visual Studio / SSDT?
BEFORE:
<DTS:Executable DTS:refId="Package\Truncate the table" DTS:CreationName="Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ExecuteSQLTask, Microsoft.SqlServer.SQLTask, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" DTS:Description="Execute SQL Task" DTS:DTSID="{e9f3593b-2212-46c1-9390-259186485c23}" DTS:ExecutableType="Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ExecuteSQLTask, Microsoft.SqlServer.SQLTask, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" DTS:LocaleID="-1" DTS:ObjectName="Truncate the table" DTS:ThreadHint="0"> <DTS:Variables /> DTS:ObjectData <SQLTask:SqlTaskData SQLTask:Connection="{DD6263AC-CC36-4A31-A57A-ECE18694CBEF}" SQLTask:SqlStatementSource="TRUNCATE TABLE [table1] " xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask" /> </DTS:ObjectData> </DTS:Executable>
AFTER
<DTS:Executable DTS:refId="Package\Truncate the table" DTS:CreationName="SSIS.ReplacementTask" DTS:DTSID="{e9f3593b-2212-46c1-9390-259186485c23}" DTS:ExecutableType="SSIS.ReplacementTask" DTS:LocaleID="-1" DTS:ObjectName="Truncate the table"> <DTS:Variables /> DTS:ObjectData <SQLTask:SqlTaskData SQLTask:Connection="{DD6263AC-CC36-4A31-A57A-ECE18694CBEF}" SQLTask:SqlStatementSource="TRUNCATE TABLE [Table1] " xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask" /> </DTS:ObjectData> </DTS:Executable>
These packages were very old. Opening, closing and saving them in all intermediate VS/SSIS versions solved the problem.