
dbaccess ユーティリティを使用している IBM Informix で次の構文エラーが発生します。
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
は DB-Access で有効なコマンドではないため、「構文エラー」が発生しますSHOW DATABASES
。実際、SHOW
は DB-Access でも基礎となる DBMS でも有効なキーワードではありません。
何かが機能するとすれば、それは です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
これらのコマンドは、Informix データベース サーバーではなく DB-Access によって解釈され、現在のデータベースのシステム カタログに対するクエリに変換されます。したがって、情報は現在のデータベースのシステム カタログの一部ではないため、データベースのリストは多少異なります。
データベースのリストは、データベース内のテーブルから入手できますsysmaster
。
SELECT * FROM SysMaster:informix.sysdatabases;
1 つの 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