首页 > 其他 > 详细

RIBO 工具介绍

时间:2014-11-19 02:45:45      阅读:657      评论:0      收藏:0      [点我收藏+]

Ribo是一个用于捕获、翻译和显示Sybase Client/Server之间通讯所使用的TDSTabular Data Stream)协议的工具。TDS客户端包括:jConnectisqlOpen ClientE-SQL/CCT-libraryDB-Library等)等;TDS服务器包括:Adaptive Server EnterpriseAdaptive Server IQAdaptive Server AnywhereOpen Server等。

Sybase ASE数据库用于客户机和服务器之间通讯所采用的协议是TDS协议。Ribo这个个工具,专用来监听并读取客户端连接和访问ASE数据库时的TDS协议包的。它相当于一个代理服务器,接收客户端的请求,转发至服务器,然后截获服务器发回来的结果,得到所有的TDS包,再把该有的结果发给客户端。

Ribo有三种工作模式:

?  捕获TDS协议流并把捕获结果(二进制格式)存储到文件中

?  把捕获的结果(可以是采用Ribo捕获的,也可以是通过OCSdebug tds trace功能生成的)翻译为可读的文本格式,并可存储到文件中

?  捕获TDS协议流并同时进行翻译

1.1.1  启动和设置Ribo

Ribo软件为Unix平台和Windows平台分别提供了启动脚本:RiboRibo.bat。在使用脚本启动Ribo工具之前还需要设置RIBO_HOMEJAVA_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协议数据,监听端口是4000ASE Server的地址是192.168.2.197、端口是5000,并把捕获的结果写到前缀为aips的文件中的例子:

Ribo -l 4000 -s 192.168.2.197 -p 5000 -c ribodata


1.1.3  使用Ribo翻译捕获的数据

使用如下的命令格式,可以把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后,从“文件”菜单中选择“编辑过滤器”菜单项,可以看到一个类似于下图的界面:

bubuko.com,布布扣

在界面的左侧显示的是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的字段类型如下:

字段类型

描述

字段长度及其缺省值

Char(Size)

用于保存定长(Size)字节的字符串数据。

每行定长(不足部分补为空格);最大长度为255字节,缺省值为每行1字节。

Varchar(Size)

用于保存变长的字符串数据。其中最大字节长度由(Size)指定。

每行长度可变,最大长度为255字节。数据长度缺省为1

Nchar(Size)

多字节字符串。

 

每行定长(不足部分补为空格)。 长度(Size)是指字符的个数,最大字节数为Size*A@@Nchar Size

Nvarchar(Size)

可变长,多字节字符串。

每行变长。长度(Size)是指字符的个数,最大字节数为Size*A@@Nchar Size

Binary(Size)

固定长度的二进制字符串。

每行定长(不足部分补为空格);最大长度为255字节,缺省值为每行1字节。

Varbinary(Size)

可变长度的长度的二进制字符串。

每行长度可变,最大长度为255字节。数据长度缺省为1

Timestamp

用于改变管理的二进制值。

字节数为16

Datetime

保存定长的日期时间数据,范围为175311日到公元99991221日,精度为3微秒间隔。

每行固定为8字节长度。

Smalldatetime

保存定长的日期时间数据,范围为199011日到公元207966日,精度为分钟间隔。

每行固定为4字节长度。

Int

保存整型数据,范围为-2147483647+2147483647

最大长度为4字节32 - 1字节或4G

Smallint

保存整型数据,范围为-32767+32767

最大长度为2字节32 - 1字节或4G

Tinyint

保存整型数据,范围为0255

最大长度为1字节。

Float

保存浮点数据类型,范围为-2.23E-308+2.23E-308

最大长度为8字节。

Real

保存浮点数据类型,范围为-1.18E-38+1.18E-38

最大长度为4字节。

Numeric(P,S)

保存精确数值数据类型,范围为-10E-38+10E-38,P是精度,总小数位数(1~38),S是小数位(小数位小于等于P)

最大长度为2~17字节。

Decimal(P,S)

保存精确数值数据类型,范围为-10E-38+10E-38,P是精度,总小数位数(1~38),S是小数位(小数位小于等于P)

最大长度为2~17字节。

Money

保存货币值数据类型,范围为-922337203685477.5808+922337203685477.5808

最大长度为8字节。

Smallmoney

保存货币值数据类型,范围为-214748.3647+214748.3647

最大长度为4字节。

Text

保存大于255字节的栏或大于2KB页长度的文本数据。

最大长度为2G

Image

保存大于255字节的栏或大于2KB页长度的二进制数据。

最大长度为2G

RIBO 工具介绍

原文:http://blog.chinaunix.net/uid-25267477-id-4628725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!