我有什么:
我需要什么:
Adaptive Server Enterprise/12.5.4/EBF 14921 ESD#7/P/RS6000/AIX 5.1/ase1254/2095/64-bit/FBO/Fri Oct 12 12:11:32 2007
(我需要从2个表中选择数据并执行2个存储过程)我已经安装了ODBC驱动程序并使用c:\Windows\SysWOW64\odbcad32.exe
创建了一个ODBC源代码。从ODBC数据源管理器测试连接时成功建立连接。但是当我创建一个链接服务器时,我收到一个错误:
[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配“。
这是因为64位SQL Server和32位ODBC驱动程序之间存在不匹配。 显然我需要一些代理来提供服务器和驱动程序之间的连接。 我找到了几座桥,但它们都是专有的。
是否有免费的代理解决方案或免费的64位SyBase驱动程序?
UPD
仍然没有好的生产解决方案,但正如answer中提出的Paolo,我使用32位SQL Server Express解决了这个问题。
我一步一步做了什么:
Shared Memory
)通过ODBC
使用OPENQUERY
函数在Express上创建存储过程以从SyBase请求数据
将32位SQL Server Express 2014连接到64位SQL Sever 2012作为链接服务器(Express的地址为LOCAL\(SQLEXPRESS)
)
答案 0 :(得分:1)
安装一个备用sql server express 32位(我会把它放在一台单独的机器上)作为sybase的桥梁。
64位实例上的创建一个到32bit实例的链接服务器;在32位实例上创建一个到sybase的链接服务器。
我没有尝试这种双跳配置,但它最终可能需要32位rdbms上的一些视图才能从64位实例访问sybase上的数据。
这不是我想在生产中长期使用的解决方案......