Ribo是一个用于捕获、翻译和显示Sybase Client/Server之间通讯所使用的TDS(Tabular Data Stream)协议的工具。TDS客户端包括:jConnect、isql和Open Client(E-SQL/C、CT-library、DB-Library等)等;TDS服务器包括:Adaptive Server Enterprise、Adaptive Server IQ、Adaptive Server Anywhere和Open Server等。
Sybase ASE数据库用于客户机和服务器之间通讯所采用的协议是TDS协议。Ribo这个个工具,专用来监听并读取客户端连接和访问ASE数据库时的TDS协议包的。它相当于一个代理服务器,接收客户端的请求,转发至服务器,然后截获服务器发回来的结果,得到所有的TDS包,再把该有的结果发给客户端。
Ribo有三种工作模式:
? 捕获TDS协议流并把捕获结果(二进制格式)存储到文件中
? 把捕获的结果(可以是采用Ribo捕获的,也可以是通过OCS的debug tds trace功能生成的)翻译为可读的文本格式,并可存储到文件中
? 捕获TDS协议流并同时进行翻译
1.1.1 启动和设置RiboRibo软件为Unix平台和Windows平台分别提供了启动脚本:Ribo和Ribo.bat。在使用脚本启动Ribo工具之前还需要设置RIBO_HOME和JAVA_HOME等环境变量。
1.1.2 使用Ribo捕获数据为了使用Ribo捕获TDS协议数据并把结果保存到文件中,可以使用下面的命令格式:
Ribo [-l <listen_port>] [-s <server_host>] [-p <server_port>]
[-c <capture_file_prefix>] [-t <trans_file_prefix>] [-x <charset>]
[-gui] [-d] [-f <filter_file>] [-h]
具体的命令行参数说明见下面的表格
|
命令行参数 |
描述 |
缺省值 |
|
-l |
指定Ribo监听端口 |
5005 |
|
-s |
指定TDS服务器的主机名或IP地址 |
localhost |
|
-p |
指定TDS服务器的端口号 |
2638 |
|
-c |
缺省情况下,Ribo把捕获的TDS数据存储到文件中。 这个选项用于指定Ribo生成文件的前缀。 |
|
|
-t |
把捕获的二进制格式的TDS数据翻译成可读的文本格式,并保存到文件中。 这个选项用于指定文件前缀。 |
|
|
-gui |
以图形化方式运行Ribo |
n/a |
|
-f |
指定用户定义的过滤器文件 |
n/a |
|
-h |
显示Ribo使用帮助 |
n/a |
|
|
|
|
|
|
|
|
下面是一个启动Ribo捕获TDS协议数据,监听端口是4000,ASE Server的地址是192.168.2.197、端口是5000,并把捕获的结果写到前缀为aips的文件中的例子:
Ribo -l 4000 -s 192.168.2.197 -p 5000 -c ribodata
使用如下的命令格式,可以把Ribo捕获到的数据翻译成可读的文本格式,并把翻译的结果保存到文件中:
Ribo <input_capture_file> <output_file>
说明:<input_capture_file>是Ribo先前捕获数据所保存到的数据文件名。<output_file>是Ribo翻译之后所保存到的数据文件名,如果没有指定这个命令行参数,那么Ribo会把翻译的结果数据输出到标准输出中。输出文件显示如下信息:
? 发送到服务器的SQL语句
? 发送到服务器的的参数(语句或存储过程)信息
? 从服务器返回的结果信息
下面是一个把Ribo先前捕获的数据翻译成可读格式并保存到文本文件的例子:
Ribo aips0.tds aips0.out
在进行翻译的时候也可以通过-f选项指定自定义的过滤器文件。
1.1.4 使用Ribo捕获数据并同时进行翻译使用Ribo还可以在捕获TDS数据的同时进行翻译,并把捕获的数据和翻译之后的数据分别存入文件中。下面一个例子:
Ribo -l 4000 -s 192.168.2.197 -p 5000 -c aips -t
1.1.5 在Ribo中使用过滤器使用过滤器可以只捕获满足过滤器条件的TDS数据,从而过滤掉不需要要的TDS数据并减少生成文件的尺寸。如果没有使用-f选项指定一个过滤器文件名,那么Ribo将使用缺省的过滤器。为了能够看到缺省过滤器的设置内容,可以使用如下方式启动Ribo:
Ribo -gui -l 4000
当以图形方式启动Ribo后,从“文件”菜单中选择“编辑过滤器”菜单项,可以看到一个类似于下图的界面:
在界面的左侧显示的是TDS Tokens类型,右侧显示的是Tokens的可用细节选项。被选中的项高亮显示。
采用如下步骤可以创建定制的过滤器:
1. 选择需要的列表项,选中它(选中的项以高亮显示);不需要的选项再次点击鼠标
则取消选择。
2. 当设置完后点击“确定”按钮进行文件保存,Ribo提示输入保存文件名。
3. 在输入相应文件名之后点击“保存”按钮
为了使用自定义的过滤器,使用-f命令行参数。例如:
Ribo -l 4000 -s 192.168.2.197 -p 5000 -c aips -t -f aips.filter
SYBASE的字段类型如下:
原文:http://blog.chinaunix.net/uid-25267477-id-4628725.html