Skip to Content

Hi all,

This blog is to share a way of how to create a proxy table in IQ server.

The source table exists in a database of an ASE dataserver.

I had to create a proxy table to reproduce a certain problem on my environment.

I referred to a KBA 1969970 and IQ manual pages for creating a proxy table in IQ database.

Please take a look at the procedures below.

Environment

1) IQ version : IQ 16.0 SP08

2) SDK vesion:SDK 15.0 ESD #30

3) ASE version: ASE15.0.3

4) OS version : Linux SUSE 11

1. Create an ODBC dsn for the ASE dataserver in .odbc.ini which exists in $ODBCINI or $SYBASE

It’s mandatory to add another ODBC dsn for the ASE dataserver with  below parameters.

It is because the server class ‘asejdbc’ has been deprecated in IQ 16.0, which means ‘aseodbc’ is the only one way to be declared.

(cf. the server ‘asejdbc’ is still shown in the IQ 16.0 manuals, but it’s not available.)

[DSN_PDREP]

ServerName=PDREP

Database=PDREP

UID=pdrep

PWD=sap12345

SERVER=linux-sslt

PORT=5100

USECURSOR=1

Driver=/share/ase/DataAccess64/ODBC/lib/libsybdrvodb.so

2. Add a server entry for the remote ASE dataserver to interfaces file using dscp command.

  Distinguish name: PDREP

  Server Entry Version: 1

  Server Name: PDREP

  Server Service: Adaptive Server Enterprise

  Server Status: 4 (Unknown)

  Server Address:

    Transport Type: tcp

    Transport Address: x.x.x.129 5100

3. Create odbc.ini symbolic link to point to “.odbc.ini”.(*** the symbolic link doesn’t have a dot(.) at foremost)

ln -s $HOME/.odbc.ini $SYBASE/odbc.ini

4. Add a path for the DataAccess library to the $LD_LIBRARY_PATH variable.

You should install SDK(Software Development Kit) on the machine where the IQ server is running if the ASE dataserver is running on a different machine from the IQ server.

iq16:/home/iq16] echo $LD_LIBRARY_PATH

/home/iq16/IQ-16_0/lib64:/share/ase/DataAccess64/ODBC/lib:/home/iq16/OCS-15_0/lib:/home/iq16/OCS-15_0/lib3p64:/home/iq16/OCS-15_0/lib3p:

5. Connect to the IQ server with DBA or an account with SERVER OPERATOR system privilege and run below commands.

create server PDREP class ‘ASEODBC’ using ‘DSN_PDREP’;

create externlogin DBA to PDREP remote login pdrep identified by sap12345 ;

create existing table proxyt1(a int, b char(300)) at ‘PDREP.PDREP.dbo.proxyt1’;

6. Connect with the registered externlogin and execute a query.

forward to PDREP { select * from proxyt1 };

HTH

Jerry

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply