Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Sybase ASE 12 Stored Procedure / ODBC Adapter / BizTalk 2009 / Windows Server 2008 › Re: Sybase ASE 12 Stored Procedure / ODBC Adapter / BizTalk 2009 / Windows Server 2008
Resolution
I’ve found a workaround, which I thought I’d post for anyone following this thread.
I gave up with the ODBC Adapter, and turned instead to the standard SQL Adapter. I pointed this at some business functions in SQL Server, which called the Sybase business functions via SQL’s Linked Server functionality. To successfully link to Sybase, I created an ODBC connection to it on the SQL database server.
Steps
- Install Sybase driver on SQL Server
- Create & test an ODBC connection to your Sybase database
- Create the linked table in SQL Server
- exec sp_addlinkedserver @server=’linked_server_name‘, @srvproduct = ‘Sybase’, @provider = ‘MSDASQL’, @datasrc = ‘ODBC_Data_Source_Name‘
- exec sp_addlinkedsrvlogin @useself=’false‘, @rmtsrvname = ‘linked_server_name‘, @rmtuser = ‘username‘, @rmtpassword = ‘password‘
- Enable Remote Procedure Calls
- Right click on your linked server (found in SSMS under “Server Objects\Linked Servers”
- Select Properties
- Go to the “Server Options” page
- Change both “RPC” and “RPC Out” to True
- Test standard SQL over the linked server
- select * from linked_server_name.database_name.dbo.tablename;
- Test stored procedures over the linked server
- execute (‘database_name.dbo.stored_procedure_name’) at linked_server_name;
- You can now wrap any calls in your own SQL Server stored procedures, and access these from biztalk in the standard way.
* I believe this solution should work with any database with an ODBC driver. However, it’s always worth testing first, just to be sure :).