SSIS Package Connection Manager does not recognize my Teradata drivers

1

I have Visual Studio 2010, 2012, 2013 installed. I also have the VS2015 SSDT Preview installed.

I'm editing some existing SSIS Packages that have Teradata as a source. The properties are set in the connection manager.

I have the following Teradata drivers installed:

  • .NET Data Provider for Teradata 14.11.0.3
  • ODBC Driver for Teradata - Suite 14.10.17

I cannot upgrade my drivers, because these are the ones used on our Production server.

If I right-click the Teradata cnn in the Connection Manager, I see the following Qualifier in the properties pane:

 Teradata.Client.Provider.TdConnection, Teradata.Client.Provider, Version=14.11.0.2, Culture=neutral, PublicKeyToken=76b417ee2e04956c

When I edit a the Teradata cnn via the Connection Manager editor, I get the following error:

TITLE: Microsoft Visual Studio
------------------------------

Could not get provider invariant name from the connection type qualifier "Teradata.Client.Provider.TdConnection, Teradata.Client.Provider, Version=14.11.0.2, Culture=neutral, PublicKeyToken=76b417ee2e04956c". You may need to manually edit the 'Qualifier' property of the connection manager if the default one selected is different from what you want.

------------------------------
ADDITIONAL INFORMATION:

 Could not create a DbProviderFactory class for the provider invariant name 'IBM.Data.DB2'. Verify that this provider is installed correctly on this computer. (Microsoft.DataTransformationServices.Design)

 For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE%202015&ProdVer=14.0.23107.0&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=CouldNotGetFactory&LinkId=20476

------------------------------

Failed to find or load the registered .Net Framework Data Provider. (System.Data)

Then, when the connection properties editor opens, the Provider type has defaulted to '.Net Providers\SQLClient Data Provider'.

If I set the Provider back to '.NET Providers.NET Data Provider for Teradata' and then re-enter the cnn properties, I can successfully test the connectivity and execute the package. But then when I re-edit that cnn in the same session, I get the same error, and the cnn properties default back to the 'SQL Server properties as before.

I have repeatedly re-installed the drivers. I have tried multiple versions of Visual Studio. I can't find anything online about this error for Teradata. What do I need to do?

Possibly related:

I do have another provider available named 'IBM DB2 .NET Data Provider', which seems to be referenced in the error message? But I don't know why I wouldn't use the .NET Teradata driver.

It takes up to 15 minutes for me to open a package between validating the container and validating the ADO .NET Source. I frequently get this error when opening packages:

TITLE: Microsoft Visual Studio
------------------------------

 Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSObject100'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{232F2C80-3B6E-4380-8D51-1B358E7FEA43}' failed due to the following error: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)).
visual-studio
teradata
sql-server-data-tools
ssis-2012
ssdt-bi
asked on Stack Overflow Apr 15, 2016 by Quicksilver

1 Answer

1

I figured it out. The conflict didn't come from the Teradata driver per se. The conflict occurred because I had Toad installed as well, which created a number of other .NET drivers, including several IBM.Data.DB2 drivers. I'm not sure why, but those drivers blocked the Teradata driver. I use Toad to connect to Teradata, so I suppose there was some overlap.

After I uninstalled Toad, I was able to open and edit connections as normal.

answered on Stack Overflow Apr 19, 2016 by Quicksilver

User contributions licensed under CC BY-SA 3.0