SSIS包连接管理器无法识别我的Teradata驱动程序

时间:2016-04-15 20:02:49

标签: visual-studio teradata sql-server-data-tools ssis-2012 ssdt-bi

我安装了Visual Studio 2010,2012,2013。我也安装了VS2015 SSDT Preview。

我正在编辑一些以Teradata为源的现有SSIS包。属性在连接管理器中设置。

我安装了以下Teradata驱动程序:

  • 适用于Teradata 14.11.0.3的.NET数据提供程序
  • Teradata的ODBC驱动程序 - Suite 14.10.17

我无法升级我的驱动程序,因为这些是我们的生产服务器上使用的驱动程序。

如果我在Connection Manager中右键单击Teradata cnn,我会在属性窗格中看到以下限定符:

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

当我通过Connection Manager编辑器编辑Teradata cnn时,出现以下错误:

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)

然后,当连接属性编辑器打开时,提供者类型默认为“.Net Providers \ SQLClient Data Provider'”。

如果我将提供商设置回Teradata的.NET提供商.NET数据提供商'然后重新输入cnn属性,我可以成功测试连接并执行包。但是当我在同一个会话中重新编辑该cnn时,我得到了同样的错误,并且cnn属性默认返回到以前的“SQL Server”属性。

我已多次重新安装驱动程序。我尝试过多个版本的Visual Studio。我无法在网上找到有关Teradata此错误的任何信息。我需要做什么?

可能相关:

我确实有另一个名为' IBM DB2 .NET Data Provider&#39的提供程序,它似乎在错误消息中引用了?但我不知道为什么我不会使用.NET Teradata驱动程序。

在验证容器和验证ADO .NET Source之间,打开一个包最多需要15分钟。打开包时我经常遇到这个错误:

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)).

1 个答案:

答案 0 :(得分:1)

我明白了。冲突并非来自Teradata司机本身。发生冲突的原因是我也安装了Toad,它创建了许多其他.NET驱动程序,包括几个IBM.Data.DB2驱动程序。我不知道为什么,但那些司机阻止了Teradata驱动程序。我使用Toad连接到Teradata,所以我想有一些重叠。

卸载Toad后,我能够正常打开和编辑连接。