cancel
Showing results for 
Search instead for 
Did you mean: 

Joining system tables on two different ASA servers

Former Member
3,420

In order to compare dev and prod databases, I'd like to join SYSOBJECTS and SYSCOLUMNS tables of two servers. However the documentation says 'you cannot create proxies of system tables'. Is there a way to do what I want without creating proxy tables? I'm relatively new to Sybase ASA, so all suggestions/directions are welcome.

Note: a related but not duplicate question

Edit: The server version is 9. I thought I added that, I feel like there's a problem with revisions but I'll post that as another thread.

Accepted Solutions (1)

Accepted Solutions (1)

VolkerBarth
Contributor

It surely is possible to access to system catalog of a different SA database through proxy tables. Note, however, as you are relating to already existing tables/views, you need to use the CREATE EXISTING TABLE syntax.

The following shows how to access the systable system view of the SA12 demo database:

create server SVR_SA_DEMO class 'saodbc' using 'SQL Anywhere 12 Demo';
create externlogin "DBA" to SVR_SA_DEMO remote login "DBA" identified by 'sql';
create existing table DEMO_SysTable at 'SVR_SA_DEMO..sys.systable';
select * from DEMO_SysTable order by table_name;

For obvious reasons, the following will fail with missing permissions:

update DEMO_SysTable set table_name = 'test';

The following will show all tables/view contained in the current, but not in the demo database:

select table_name from sys.systable
except
select table_name from DEMO_SysTable
order by 1
Former Member
0 Kudos

Thanks, it works!

Answers (0)