2

I have a use case that requires me to make a join on a table t1 from Sybase ASE and table t2 from Sybase IQ . I am trying to achieve this by creating a proxy_table on Sybase IQ as follows:

create server SYB1 class 'ASAODBC' using    
Driver=libsyb64.so;Server=hostname;Port=portnum;PacketSize=16384;
EnableServerPacketSize=0'

(I even tried above with 'ASEODBC' and 'ODBC' classes)

create external login XYZ to SYB1 remote login 'SYBASEASEusername' 
identified by SYBASEASEpwd'

create existing table 'proxy_table_name' at 'SYB1.dbname.owner.tablename'

On firing above sqls I get: [Sybase][ODBC Driver][Sybase IQ] Unable to connect to 'SYB1': [Sybase][ODBC Driver] [SQL Anywhere] Unable to connect ; server definition is circular

I have entry for the above mentioned Sybase ASE host in interfaces file and I tried to create the server by specifying the server name itself but it failed nevertheless.

Any help appreciated.

birjoossh
  • 83
  • 1
  • 8

2 Answers2

0

That error occurs when you attempt to connect to a remote server that maps to the local database. That's not possible in Sybase IQ. Check if the ODBC is pointing to the correct server (in your case should be the ASE server).

aF.
  • 64,980
  • 43
  • 135
  • 198
  • Apology but can you please elaborate on "attempt to connect to a remote server that maps to the local database". – birjoossh Feb 27 '14 at 17:22
0

Your proxy server is using class 'ASAODBC' but since you're connecting to an ASE server, it should be 'ASEODBC'. As aF. said, you also need to make sure your connection string is pointing at the ASE server, not the IQ server.

Full disclosure: I work for SAP in SAP SQL Anywhere engineering. SQL Anywhere is the execution engine for SAP IQ (formerly Sybase IQ).

Graeme Perrow
  • 56,086
  • 21
  • 82
  • 121
  • Yes my connection string is pointing to Sybase ASE. Alos like I mentioned I tried all the the classes 'ASAODBC','ASEODBC' and 'ODBC' . Is there any specific drivers need to be installed for this? – birjoossh Feb 27 '14 at 17:28