'Advantage Server: explore a table in database

Advantage Server 11.0

I use Data Architect and login as ADSSYS.

I create a table

CREATE TABLE bbimp(TEXT NChar(255)) IN DATABASE;

Then I execute second time to be sure the table exists

CREATE TABLE bbimp(TEXT NChar(255)) IN DATABASE;

and get an awaited message

poQuery: Error 7200:  AQE Error:  State = S0000;   NativeError = 2010;  [iAnywhere Solutions][Advantage SQL Engine][ISAM]ISAM table already exists

Then I try to know if it exists without the error:

SELECT * from system.tables where name='bbimp';

But result set contains 0 records.

How can I get to know if the table in database exists?

  1. when I execute SQL

    select * from bbimp
    

I get an error:

poQuery: Error 7200:  AQE Error:  State = HY000;   NativeError = 5159;  [iAnywhere Solutions][Advantage SQL][ASA] Error 5159:  Error encountered when trying to open a database table.  The table is a database table. It cannot be opened as a free table. Table name: bbimp
  1. I have a file of the table at

    C:\Users\Public\Documents\AgroWinDaten\Daten\bbimp.adt
    


Solution 1:[1]

Selecting from system.tables (in fact all the system. tables) only works for dictionary based connections, not for free connections.

Also you can't query a dictionary based table from a free connection.

If you don't understand the difference, you should look at this question:

What is difference between the Adavanstage Database Sever free table and Advanstage databaseSever Normal table

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jens Mühlenhoff