Informix dbaccess を使用すると構文エラーが発生するのはなぜですか?

Informix dbaccess を使用すると構文エラーが発生するのはなぜですか?

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

関連情報