做DBA要经常帮别人查询数据库中的记录, 有些表的字段比较多, 很想念MySQL的按列显示功能, 基于Java和JDBC的AnySQL已经有这个功能了, 不过却不好处理字符集问题, 就不如在ociuldr中来实现这个功能了, 代码已更新, 重新下载和编译就行了.

    创建一个文本文件(cr.sql), 包话一个宽表的查询, 如下所示:

select * from dba_users

    设计了一个form命令行参数, 设为yes或on就可以了.

D:\>ociuldr user=system/oracle sql=cr.sql form=yes
    1550 bytes allocated for column USERNAME (1)
    2050 bytes allocated for column USER_ID (2)
    1550 bytes allocated for column PASSWORD (3)
    1650 bytes allocated for column ACCOUNT_STATUS (4)
    1050 bytes allocated for column LOCK_DATE (5)
    1050 bytes allocated for column EXPIRY_DATE (6)
    1550 bytes allocated for column DEFAULT_TABLESPACE (7)
    1550 bytes allocated for column TEMPORARY_TABLESPACE (8)
    1050 bytes allocated for column CREATED (9)
    1550 bytes allocated for column PROFILE (10)
    1550 bytes allocated for column INITIAL_RSRC_CONSUMER_GROUP (11)
  200050 bytes allocated for column EXTERNAL_NAME (12)

      0 rows exported at 2008-11-28 20:39:45
      8 rows exported at 2008-11-28 20:39:45
        output file uldrdata.txt closed at 8 rows.

    来看一下生成的文件中的内容, 这样的格式是不是你有时需要的?

USERNAME                      : SYS
USER_ID                      : 0
PASSWORD                      : 8A8F025737A9097A
ACCOUNT_STATUS                : OPEN
LOCK_DATE                    :
EXPIRY_DATE                  :
DEFAULT_TABLESPACE            : SYSTEM
TEMPORARY_TABLESPACE          : TEMP
CREATED                      : 2008-04-08 17:12:38
PROFILE                      : DEFAULT
INITIAL_RSRC_CONSUMER_GROUP  : SYS_GROUP
EXTERNAL_NAME                :

USERNAME                      : SYSTEM
USER_ID                      : 5
PASSWORD                      : 2D594E86F93B17A1
ACCOUNT_STATUS                : OPEN
LOCK_DATE                    :
EXPIRY_DATE                  :
DEFAULT_TABLESPACE            : SYSTEM
TEMPORARY_TABLESPACE          : TEMP
CREATED                      : 2008-04-08 17:12:38
PROFILE                      : DEFAULT
INITIAL_RSRC_CONSUMER_GROUP  : SYS_GROUP
EXTERNAL_NAME                :

    如果你的生产数据库, 允许Windows图形工具直连, 那么你不需要这个更新功能.