64 位 SQL 服务器 通过 32 位 ODBC 驱动程序将服务器链接到 SyBase

64-bit SQL Server Linked server to SyBase via 32-bit ODBC driver

我有:

我需要的:

我已经安装了 ODBC 驱动程序并使用 c:\Windows\SysWOW64\odbcad32.exe 创建了一个 ODBC 源。当我从 ODBC 数据源管理器测试它时,连接成功建立。但是当我创建链接服务器时出现错误:

[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application".

那是因为 64 位 SQL 服务器和 32 位 ODBC 驱动程序不匹配。 显然我需要一些代理来提供服务器和驱动程序之间的连接。 我发现了一些桥梁,但它们都是专有的。

是否有任何免费的代理解决方案或免费的 64 位 SyBase 驱动程序?

UPD

仍然没有好的生产解决方案,但正如 Paolo 在 中所建议的那样,我使用 32 位 SQL Server Express 来解决这个问题。

我一步一步完成的:

  1. 安装 32 位 SQL Server Express 2014 电脑(可能不是最好的主意,但它使成为可能 使用 Shared Memory )
  2. 通过 ODBC

  3. 将 32 位 SQL Server Express 连接到 Sybase 数据库
  4. 使用 OPENQUERY 函数在 Express 上创建存储过程以从 SyBase 请求数据

  5. 将32位SQL Server Express 2014连接到64位SQL Sever 2012作为链接服务器(Express的地址是LOCAL\(SQLEXPRESS)

安装一个备用 sql server express 32 位(我会把它放在单独的机器上)作为到 sybase 的桥梁。

在 64 位实例上创建到 32 位实例的链接服务器;在 32 位实例上创建到 sybase 的链接服务器。

我没有尝试过这种双跃点配置,但它最终可能需要对 32 位 rdbms 进行一些查看才能从 64 位实例访问 sybase 上的数据。

这不是我希望在生产中长期使用的解决方案...