Você obtém o 'erro de sintaxe' porque SHOW DATABASES
não é um comando válido no DB-Access. Na verdade, SHOW
não é uma palavra-chave válida no DB-Access ou no DBMS subjacente.
Se alguma coisa funcionasse, seria INFO DATABASES
; no entanto, isso não é realmente suportado no DB-Access (mas é no meu programa SQLCMD , que eu uso em preferência ao DB-Access, e usei desde que eu o escrevi em 1987).
Existem outros comandos INFO
para listar tabelas, colunas, etc.
INFO TABLES; -- List of user-defined tables and views
INFO COLUMNS FOR systables; -- Columns for a specific table
INFO INDEXES FOR systables; -- Indexes on a specific table
Esses comandos são interpretados pelo DB-Access e não pelo servidor de banco de dados Informix e são convertidos em consultas no catálogo do sistema do banco de dados atual. A lista de bancos de dados é, portanto, um pouco diferente porque as informações não fazem parte do catálogo do sistema do banco de dados atual.
A lista de bancos de dados está disponível em uma tabela no banco de dados sysmaster
:
SELECT * FROM SysMaster:informix.sysdatabases;
Exemplo de saída de um servidor Informix:
…
name mode_ansi
partnum 1048920
owner jleffler
created 2014-04-30
is_logging 1
is_buff_log 0
is_ansi 1
is_nls 0
is_case_insens 0
flags -12283
name utf8
partnum 1048988
owner jleffler
created 2014-04-30
is_logging 1
is_buff_log 1
is_ansi 0
is_nls 0
is_case_insens 0
flags -12285
…
Como alternativa, se você executar o DB-Access no modo curses ( dbaccess
ou dbaccess dbname
), haverá uma opção de menu Databases
que leva a um submenu que permite listar, selecionar , crie e elimine bases de dados.