Диспетчер соединений служб SSIS не распознает мои драйверы Teradata

У меня установлена ​​Visual Studio 2010, 2012, 2013. У меня также установлен предварительный просмотр SSDT VS2015.

Я редактирую некоторые существующие пакеты служб SSIS, в которых источником Teradata является. Свойства устанавливаются в диспетчере соединений.

У меня установлены следующие драйверы Teradata:

  • Поставщик данных.NET для Teradata 14.11.0.3
  • Драйвер ODBC для Teradata - Suite 14.10.17

Я не могу обновить свои драйверы, потому что они используются на нашем производственном сервере.

Если я щелкну правой кнопкой мыши Tendata cnn в диспетчере подключений, я увижу следующий классификатор на панели свойств:

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

Когда я редактирую 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".

Если я верну "Провайдеру" значение "Поставщик данных.NET. Поставщик данных.NET для Teradata", а затем снова введу свойства cnn, я смогу успешно проверить подключение и выполнить пакет. Но затем, когда я повторно редактирую этот cnn в том же сеансе, я получаю ту же ошибку, и свойства cnn по умолчанию возвращаются к свойствам SQL Server, как и раньше.

Я неоднократно переустанавливал драйверы. Я пробовал несколько версий Visual Studio. Я не могу найти в Интернете ничего об этой ошибке для Teradata. Что мне нужно сделать?

Возможно связано:

У меня есть другой доступный провайдер под названием "Поставщик данных IBM DB2 .NET", на который, по-видимому, ссылаются в сообщении об ошибке? Но я не знаю, почему бы мне не использовать драйвер.NET Teradata.

Мне требуется до 15 минут, чтобы открыть пакет между проверкой контейнера и проверкой ADO .NET Source. Я часто получаю эту ошибку при открытии пакетов:

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 ответ

Решение

Я понял. Конфликт возник не от самого драйвера Teradata. Конфликт произошел из-за того, что у меня также был установлен Toad, который создал ряд других драйверов.NET, включая несколько драйверов IBM.Data.DB2. Я не уверен почему, но эти драйверы заблокировали драйвер Teradata. Я использую жабу, чтобы соединиться с Teradata, так что я полагаю, что было некоторое совпадение.

После того, как я удалил Toad, я смог открыть и редактировать соединения как обычно.

Другие вопросы по тегам