Почему при использовании Informix dbaccess возникает синтаксическая ошибка?

Почему при использовании Informix dbaccess возникает синтаксическая ошибка?

Я получаю следующую синтаксическую ошибку в IBM Informix при использовании утилиты dbaccess:

root@guava:/opt/informix# bin/dbaccess - -
Your evaluation license will expire on 2015-12-22 00:00:00
> show databases;

  201: A syntax error has occurred.
Error in line 1
Near character position 1

Какие-либо предложения?

решение1

Вы получаете 'синтаксическую ошибку', потому что SHOW DATABASESэто недопустимая команда в DB-Access. Фактически, SHOWэто недопустимое ключевое слово ни в DB-Access, ни в базовой СУБД.

Если бы что-то работало, это было бы INFO DATABASES; однако, это на самом деле не поддерживается в DB-Access (но это, по моему мнению, поддерживается).SQLCMDпрограмму, которую я использую вместо DB-Access с тех пор, как я ее впервые написал в 1987 году).

Существуют и другие INFOкоманды для вывода списка таблиц, столбцов и т. д.

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

Эти команды интерпретируются DB-Access, а не сервером базы данных Informix, и преобразуются в запросы к системному каталогу текущей базы данных. Список баз данных, таким образом, несколько отличается, поскольку информация не является частью системного каталога текущей базы данных.

Список баз данных доступен из таблицы в sysmasterбазе данных:

SELECT * FROM SysMaster:informix.sysdatabases;

Пример вывода с одного сервера 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

В качестве альтернативы, если вы запускаете DB-Access в режиме curses ( dbaccessили dbaccess dbname), то есть опция меню Databases, которая ведет к подменю, позволяющему вам перечислять, выбирать, создавать и удалять базы данных.

Связанный контент