常看到有人问如何查看LOB或LONG类型的字段中的内容, 在SQL*Plus中是不容易的, 在AnySQL小工具中, 我设计了LOB和LOBEXP命令来对这些数据类型进行查询操作, 这些命令都将LONG/LOB字段中的内容检索到客户端的机器(非服务器端).

    LOB命令语法, 这里面query应当只返回一行及一列(LONG或LOB类型).

Usage:
  LOB query >> file
Note :
  >> mean export long/long raw/blob/clob to a file

    LOBEXP命令语法, 这里面query应当只返回两列, 第一列为文件名, 第二列为LONG或LOB字段.

Usage:
  LOBIMP query
Note :
  Query should return tow column as following:
  col1 : CHAR or VARCHAR specify the filename.
  col2 : blob/clob field.

    下面来看一下例子中用到的表:

ASQL> SELECT FNAME FROM T_LOB;

FNAME
-----
a.txt
otop

2 rows returned.

ASQL> desc t_LOB;

NO# NAME              NULLABLE TYPE        
--- ----------------- -------- ------------
  1 FNAME                      VARCHAR2(20)
  2 FTEXT                      CLOB

    用LOB命令的例子:

ASQL> LOB SELECT FTEXT FROM T_LOB WHERE FNAME='otop' >> otop.txt;

Command succeed.

    用LOBEXP命令的例子:

ASQL> LOBEXP SELECT FNAME, FTEXT FROM T_LOB;

Write to file: a.txt , bytes=37
Write to file: otop , bytes=483
Command succeed.

    现在你可以在运行AnySQL的机器上去看一下有没有新文件被生成? 查询LOB就是这么简单!