用于远程访问遗留资源的ODBC代理?

时间:2010-01-13 21:20:46

标签: ssis odbc 32bit-64bit

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

  1. 设置一个全新的SQL Server SSIS和AcuODBC的实例 32位虚拟机上的驱动程序(代价高昂)
  2. 尝试 破解32位驱动程序到我们的 手动64位服务器(失败 倾向和不支持的)
  3. 设置一个 具有某种“代理”的32位VM 我们的64位SSIS可以使用的服务 拉数据。
  4. 第一种选择是最不可取的。如果您对选项2或3有任何建议,或者我没有想到的任何其他建议,我很乐意听到它们。

3 个答案:

答案 0 :(得分:4)

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

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

无论如何,还对数据库中继,代理和桥接做了一些研究。

在我的案例中搜索的最好的东西是“ODBC-ODBC bridge”。那里有几种商业产品,没有任何免费的。大约一千美元。有一个50美元的ODBC中继产品是不值得的,因为它使用专有的TCP / IP协议,而不是桥接到ODBC协议。

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

我最近做的最后一个选项是编写一个简单的.NET Web服务,它接受凭据和查询并将结果作为CSV返回。 (但在我的情况下,ODBC驱动程序没有正确地使用.NET,因为它基于比.NET框架使用的旧版本的ODBC。否则我认为这样就可以了。)

显然,您需要了解其中任何一项的安全隐患。

答案 1 :(得分:0)

  

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

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

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

答案 2 :(得分:0)

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