我安装了Visual Studio 2010,2012,2013。我也安装了VS2015 SSDT Preview。
我正在编辑一些以Teradata为源的现有SSIS包。属性在连接管理器中设置。
我安装了以下Teradata驱动程序:
我无法升级我的驱动程序,因为这些是我们的生产服务器上使用的驱动程序。
如果我在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)).
答案 0 :(得分:1)
我明白了。冲突并非来自Teradata司机本身。发生冲突的原因是我也安装了Toad,它创建了许多其他.NET驱动程序,包括几个IBM.Data.DB2驱动程序。我不知道为什么,但那些司机阻止了Teradata驱动程序。我使用Toad连接到Teradata,所以我想有一些重叠。
卸载Toad后,我能够正常打开和编辑连接。