Displaying BLOBs and CLOBs

Dealing with LOBs

BLOB and CLOB columns are difficult to display because:

  • they are often very large, potentially several megabytes
  • BLOBs often contain hex data, which is difficult to display meaningfully in the normal results grid

BLOBs and CLOBs are known generically as LOBs.

In addition, BLOBs and CLOBs often need to be sent to an external application to be displayed. For instance, an image file held in a BLOB column will need to be displayed using an image-viewer such as MS Paint. A Word document will need to be sent to MS Word.

Setting LOB options

To deal with these requirements, AQT has an option to export a LOB column to a file. Select this option by Options > Display Options > How to Display Lobs. Select Send to Files.

You can also select what column-types this is done for: BLOBs, CLOBs and LONG VARCHAR. To explain what these types mean:

  • BLOBs means BLOB (DB2/Oracle), IMAGE and LONG VARBINARY (Sybase, SQL Server)
  • CLOBs means CLOB (DB2)
  • LONG VARCHAR means LONG VARCHAR (DB2), CLOB and LONG (Oracle), TEXT and NTEXT (Sybase, SQL Server) and MEMO (Access). It also includes any VARCHAR column that is longer than 5K bytes.

When you use this option:

  • every LOB value will be written as a separate file
  • when you display a table / result-set, the name of the LOB file will appear in the display
  • when you double-click a LOB filename it will show you the Detail of a Data Value window. The first 1000 bytes of the LOB file will be shown. You can use Show As to display the LOB using a particular program.
  • alternatively, from the results-grid, right-click a lob filename and use View As.

Storing and clearing LOBs

  • the BLOB files are stored in directory lobs within the AQT default directory.
  • the contents of the lobs directory is cleared out every time you switch on the Send to Files option.
  • when you close a result-window, AQT will delete all the lob-files used in that display. If you wish to “permanently” save a lob-file, right-click it and select Copy LOB File to.
  • If you wish to save the lob-files permanently, you can use the Export Data function. This can export LOBs to a directory which is not purged.

Problem when running multiple AQT Sessions

If you are running multiple AQT sessions, then it is possible for these sessions to interfere with each others LOB files. This is because both these sessions will use the same LOB directory and it could happen that they use the same LOB file names.

This issue is more of a problem in batch AQT as some functions (such as Data Compare) can retain the LOB files for the duration of the batch session.

To avoid such issues, you can manually set the directory used for LOBs. This is done with the following AQT scripting command:

--aqt options,lobdir="c:\aqt\workfiles\lobs"

Performance issues with LOBs

  • the system will run slower with this option switched on. Not only are you creating a lot of files; but you will also be pulling a lot more data from your database server.
  • if you return a large result-set, or have very large LOBs, then you can fill up your disk very fast. Use this option with a degree of caution.

Unicode

If you have enabled Unicode, AQT will write all CLOBs and Long Varchars values as unicode files. If you don't want your files in this format, you should disable Unicode (see Options > Unicode Options).

Limitations and issues with LOBs

The Row Detail window does not (yet) display LOB values. In a future release we may amend this to display the LOB files, plus edit and create LOBs (by linking to the appropriate external application).

Oracle ODBC driver needed

  • if you are an Oracle user, you need to use the Oracle ODBC driver rather than the Microsoft ODBC Driver for Oracle (which does not support BLOBs).

Displaying LOBs with Sybase

In order to display Sybase LOBs, you need to have a high value set for your TEXTSIZE setting. This can be done with (for example):

set textsize 20971520

Alternatively, you can change the Default Buffer Size for Long Columns setting on the configuration of the ODBC Datasource.

Display BLOBs and CLOBs (DB2可视化工具AQT )的更多相关文章

  1. 可视化工具solo show-----Processing Prefuse show

    继上篇<可视化工具solo show>罗列出一些主要基于Java开发的软件.插件之后,又仔细揣摩了下哪些可以为我所用. 一番端详之后,准备挑出其中Processing和Prefuse两位大 ...

  2. 多表查询、可视化工具、pymysql模块

    create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); create ta ...

  3. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)

    昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...

  4. 可视化工具与pymongo

    可视化工具 链接:https://robomongo.org/ pymongo 官网:http://api.mongodb.com/python/current/tutorial.html from ...

  5. MongoDB 安装和可视化工具

    MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,博主选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在Win ...

  6. MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项

    PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...

  7. 使用强大的可视化工具redislive来监控我们的redis,别让自己死的太惨~~~

    作为玩windows的码农,在centos上面装点东西,真的会崩溃的要死,,,我想大家也知道,在centos上面,你下载的是各种源代码,需要自己编译...而 使用yum的话,这个吊软件包有点想nuge ...

  8. 使用可视化工具redisclient连接redis

    可视化工具推荐:http://database.51cto.com/art/201505/477692.htm 1.连接redis服务端 1.1 设置连接密码:在redis根目录下,双击redis-c ...

  9. MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)

    一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...

随机推荐

  1. JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解

    JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素 ...

  2. TCP/IP ---封装与分用

    封装 当应用程序用T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络.其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图1 - 7所示 ...

  3. Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结

    Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结 1.1. 要兼容的重要语言api1 1.2. 常用基础api分类 core api1 1.3. 比较常用的扩展库 ...

  4. 关于extern的说明

    extern的作用: extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.   声明外部变量 现代编译器一般采用按文件编译的方式 ...

  5. mockito模拟静态方法

    这里要用到使用powerMock 注意点: 1 @RunWith(PowerMockRunner.class) 2 PowerMockito.mockStatic(StaticTest.class); ...

  6. c++如何new构造函数是protected的对象

    如果确实要new的话,可以继承这个类,然后new派生类,再转换为基类指针

  7. PLSQL快捷键设置

    1.在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心, ...

  8. linux 下安装svn服务

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  9. What is the difference between application server and web server?

    http://stackoverflow.com/questions/936197/what-is-the-difference-between-application-server-and-web- ...

  10. EasyUI DataGrid 相同连续列合并

    扩展方法:$.extend($.fn.datagrid.methods, { autoMergeCells: function(jq, fields) { return jq.each(functio ...