【发布时间】:2016-12-23 13:56:58
【问题描述】:
我正在使用 Visual Studio 2015 创建一个简单的 SSIS 包。数据源是一个 DB2 数据库,我在我的工作站上使用一个 ODBC 驱动程序来连接到 DB2。目标是 SQL Server 2014。
该程序包在本地运行良好,但每当我在服务器上运行它时,就会遇到 ODBC 数据源问题。服务器上的驱动程序与我工作站上的驱动程序完全相同,名称完全相同。
为了将包导入服务器,我已将 dtsx 文件导入到 SSIS 的存储包中。我也尝试将项目部署到集成服务目录,但这样做时遇到与 ODBC 源相关的这些故障之一 --
-
The version of ODBC File Source, clsid {xxx} is not compatible with this version of the Data Flow. The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "ODBC Source;Connector for Open Database Connectivity (ODBC) by Attunity; Attunity Ltd.; All Rights Reserved; http://www.attunity.com
我还尝试使用基于文件的 ODBC 源而不是系统源,该文件位于服务器上的共享文件夹中。同样,它在 VS 中运行良好,但在服务器上却不行。
我查看了 dtsx 文件(基于 xml),我怀疑与 ODBC 驱动程序的 DTSID 存在冲突。我不确定它是如何工作的,但似乎该 ID 对于每台计算机都是唯一的,并且 SSIS 正在尝试在服务器上使用工作站的 DTSID。
我对 SSIS 和 Visual Studio 有点陌生,所以我希望我假设有一种简单的方法可以运行在服务器上的工作站上开发的包,而不会出现这些挂起。我只是在任何地方都找不到特定于这个问题的任何东西。
我们没有在服务器上安装 VS 或 SSDT。
编辑:我在上面的第二条错误消息中添加了第二句话。它指的是Attunity提供的一个连接器,这是我不明白的。系统上安装的 ODBC 驱动程序来自 Data Direct。错误消息中返回的 CLSID 还与服务器注册表中的 Attunity 连接器相关联。
在任何一个 ODBC 管理器中都没有显示 Attunity 的 ODBC 驱动程序,因此这些驱动程序可能是默认安装的一部分,或者是在我们的服务器过去直接安装 SSDT 和 VS 并且从未安装时安装的已卸载。或者是其他东西?
【问题讨论】:
-
错误信息是什么?
-
@destination-data 有各种消息。 1) 'ODBC 文件源的版本,clsid {xxx} 与此版本的数据流不兼容。' 2) '组件丢失、未注册、不可升级或缺少必需的接口。'
-
@destination-data 我已经在服务器上测试了连接并且它可以工作,但不是我在工作站上创建的包。
-
我赌的是 32 位与 64 位的问题,正如 in this article 所暗示的那样。
-
@TallTed 我得试一试,因为它是有意义的。
标签: sql-server ssis odbc compatibility