为什么使用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 

有什么build议么?

你会得到'语法错误',因为SHOW DATABASES在DB-Access中不是一个有效的命令。 实际上,在DB-Access或底层DBMS中, SHOW不是有效的关键字。

如果有任何工作要做,那就是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 … 

或者,如果以curses模式( dbaccessdbaccess dbname )运行DB-Access,则会出现一个菜单选项“ Databases ,它导致一个子菜单,允许您列出,select,创build和删除数据库。