0

我们的项目使用 AcuCorp 的 AcuODBC 驱动程序来访问旧版 Vision 数据库。问题是我们只有一个 32 位驱动程序,安装程序根本无法在我们的 64 位服务器上运行。我需要一种方法来使用 SSIS 从该系统中提取数据。据我所知,有3个选项:

  1. 在 32 位 VM 上使用 SSIS 和 AcuODBC 驱动程序设置全新的 SQL Server 实例(成本高昂)
  2. 尝试手动将 32 位驱动程序破解到我们的 64 位服务器上(容易失败且不受支持)
  3. 设置一个带有某种“代理”服务的 32 位 VM,我们的 64 位 SSIS 可以使用该服务来提取数据。

第一个选项是最不可取的。如果您对选项 2 或 3 或其他任何我没有想到的建议有任何建议,我很想听听。

4

3 回答 3

4

所以我在没有真正回答我的问题的情况下解决了这个问题,所以我会发布我的解决方案以及我找到的一些资源。

我的解决方案是设置一个安装了 ODBC 驱动程序的 32 位 Windows VM,并使用SQL Server 2008 Express Advanced(免费!)创建一个可以从我的 64 位 SSIS 环境访问的链接服务器。这很好用,我不敢相信我没有早点想到它。

无论如何,也对数据库中继、代理和网桥进行了一些研究。

就我而言,最好的搜索是“ODBC-ODBC 桥”。那里有几个商业产品,没有免费的。一千块左右。有一个 50 美元的 ODBC 中继产品不值得,因为它使用专有的 TCP/IP 协议,而不是桥接到 ODBC 协议。

如果您的客户端可以使用 JDBC,则有一些免费的 JDBC-JDBC 桥可以与 JDBC-ODBC 桥结合以创建可行的中继。还有一个开源的 ODBC-JDBC 桥接项目(不确定质量),也许可以用来创建 ODBC-JDBC-JDBC-ODBC 桥接。哈。

最后一个选项,我非常接近于做,是编写一个简单的 .NET Web 服务,它接受凭据和查询并以 CSV 格式返回结果。(然而,在我的情况下,ODBC 驱动程序无法正确使用 .NET,因为它基于 ODBC 的旧版本,而不是 .NET 框架使用的版本。否则我认为这可以正常工作)。

显然,您需要了解其中任何一个的安全含义。

于 2010-01-15T16:31:09.147 回答
0

问题是我们只有一个 32 位驱动程序,安装程序根本无法在我们的 64 位服务器上运行。

我很好奇这个。它是非标准安装程序吗?

另外,安装是不是很复杂,不能手动完成?即使用 regedit 和 regsvr32 的 32 位仿真环境版本手动执行安装。

于 2010-01-14T13:52:01.400 回答
0

8.1.3.1 及更高版本有 32 位和 64 位版本。我无法让版本 9 工作,但 8.1.3.1 64 位似乎在 2008R2 上与 SSIS 2008 一起工作正常。

于 2011-01-14T12:36:24.583 回答