我在使用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模式( dbaccess或dbaccess dbname )运行DB-Access,则会出现一个菜单选项“ Databases ,它导致一个子菜单,允许您列出,select,创build和删除数据库。