What I have:
- a 64-bit SQL Server 2012 installed on Windows Server 2008R2
- 32-bit ODBC driver SyBase ASE 12.5.1 (and I have no ability to obtain any other official driver)
What I need:
- access from SQL Server to SyBase
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
(I need to select data from 2 tables and to execute 2 stored procedures)
I've installed the ODBC driver and created an ODBC source using c:\Windows\SysWOW64\odbcad32.exe
. A connection is successfully established when I test it from ODBC Data Source Administrator. But when I create a linked server I get an error:
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application".
That's because there is a mismatch between 64-bit SQL Server and 32-bit ODBC driver. And obviously I need some proxy to provide connection between server and driver. I've found a few bridges but all of them are proprietary.
Is there any free proxy solution or a free 64-bit SyBase driver?
UPD
There is still no good production solution, but as proposed Paolo in the answer, I use a 32-bit SQL Server Express to resolve the issue.
What I've done step by step:
- install a 32-bit SQL Server Express 2014 on the same
copmputer (probably it is not the best idea, but it makes possible
to use
Shared Memory
) connect the 32-bit SQL Server Express to the Sybase database via ODBC
create stored procedures on Express using the
OPENQUERY
function to request data from SyBaseconnect the 32-bit SQL Server Express 2014 to the 64-bit SQL Sever 2012 as a linked server (address of Express is
LOCAL\(SQLEXPRESS)
)