Sybase ASE中有用的两个小工具(jisql和ribo)
声明:请尊重个人劳动,如若转载,务必注明原始出处:
iihero 2008.9.27 于 CSDN
如果你对Sybase ASE12.5(及以上)进行了完全安装,或者安装时,选择了jutils这个组件,那么,你就能使用题目中介绍的两个小工具:jisql以及Ribo,它们位于%SYBASE%/jutils-2_0下边,是基于java的GUI方式。
一、jisql
这是一款轻量级的Sybase查询专用工具,专用于Sybase ASE数据库及Sybase ASA数据库。
进入%SYBASE%/jtuils-2_0/jisql, 你会看到有个批处理文件jisql.bat,要想运行它,最好能安装一个jdk,解压的也行。在文件头,添加JAVA_HOME,以及PATH,把java路径设置上,同时也要设置JDBC_HOME,使其指向Sybase ASE jdbc驱动jconnect的位置:
如:
Set JAVA_HOME=d:/shared/jdk
Set PATH=%JAVA_HOME%/bin;%PATH%
Set JDBC_HOME=%SYBASE%/jConnect-6_0 (注:jConnect*目录下边classes子目录里存放的就是ASE的jdbc driver)
这样,运行jisql,即会出现下边的界面:
我们将语言设为中文,填上用户、密码、主机及端口号,即可连接到数据库。这款工具,不仅能连接Sybase的ASE数据库,同样能够连接Sybase的移动数据库SQL Anywhere(移动数据库的全球领导者)。连接上数据库以后,可以看到下述界面:
执行结果也一目了然。使用一些简单的功能,也还是蛮方便的。
当然,你也可以看看它的命令行帮助:
D:/ASE150/jutils-2_0/jisql>jisql --help
用法:jisql
[-L {metal|system}] 设置外观与感受
[-Z <language>] {Deutsch|german} 或其它语言
[-d] 获取调试信息输出
[-v] 获取版本号
[-U < Username>] 数据库用户名
[-P < Password>] 用户的数据库口令
[-C <PropertyFile>] 用属性文件作为登录数据
[-S <Hostname:Portnumber[?PropertyString]]> JDBC URL 的部分
或 [-S <URL>[?PropertyString]] 完整的 JDBC URL
或 [-S <JNDI URL>[?PropertyString]] 完整的 JNDI URL
[-M {single|multi}]
single: 所有连接窗口中使用一个菜单
multi: 每个连接窗口都使用各自的菜单
二、Ribo
这个工具是干什么用的呢?大家都知道,Sybase ASE数据库使用的协议是TDS协议,(MS SQL Server使用的也是这个协议,两者的不同点在于,后者使用的是TDS 8.0)这个工具,专用来监听并读取客户端连接ASE数据库时的TDS协议包的。它相当于一个代理服务器,接收客户端的请求,转发至服务器,然后截获服务器发回来的结果,得到所有的TDS包,再把该有的结果发给客户端。
使用时,同样要稍修改%SYBASE%/ jutils-2_0/ribo下的ribo.bat文件,在@echo off下边添加:
set JAVA_HOME=d:/shared/jdk
set RIBO_HOME=%SYBASE%/jutils-2_0/ribo
这样,直接就可以运行ribo了,推荐gui方式运行,如果条件不允许,也可以不用gui方式(比如通过终端远程登录):ribo –gui,进入下边的界面:
相当于代理的端口是5005, 到时候客户端连接这个端口就能被监听,分析出TDS的内容。
这时,不要着急,先设置一下”文件”下边的”配置”再看:
把翻译到文件,和在窗口中显示结果都勾上,确定。然后回到主窗口,“开始捕获”。
最后,体验一把,打开一个dos窗口,运行一个isql连接,作一个简单查询:
当然了,先要在你的interfaces文件,也就是%SYBASE%/ini/sql.ini中添加一个注册项,即添加5005这个端口的连接信息。
我这里添加的是:
[SEAN]
master=NLWNSCK,sean-laptop,5005
query=NLWNSCK,sean-laptop,5005
于是执行命令并输入密码:
C:/Documents and Settings/hex>isql -Uspring -Ssean iihero
保密字:
1>
这时我发们发现,Ribo会弹出结果窗口:cap1.tds:
里边的内容蛮有意思的,有时候,你要调试比较复杂难解的程序,说不定就要借助于Ribo。我曾经在使用Openclient ctlib编写应用时,批量读写数据时遇到问题,最终借助于Ribo,得以发现问题。
这两个工具都不大,压缩起来总共也就