SybSQL

SybSQL is a Qt-based GUI interface to Sybase databases that uses the db-lib API.

SybSQL has a fairly basic build process that simply uses a Makefile. In order for SybSQL to find Qt and FreeTDS you need to define QTDIR and SYBASE environment variables respectively. If you have Qt installed, chances are you may have QTDIR defined already. To verify type echo $QTDIR at the shell prompt. This example uses my own installation path of qt-2.3.1 (from RedHat 7.2), YMMV.

$ export QTDIR=/usr/lib/qt-2.3.1
$ export SYBASE=/usr/local
$ make
When finished you'll have an executable named sybsql that you can run.

One caveat to the way in which SybSQL and FreeTDS interact is that SybSQL expects to be running under OpenClient, and makes the assumption that a valid $SYBASE/interfaces file exists. Since FreeTDS has deprecated use of the interfaces file in favor of the freetds.conf config file, a slight work around is required.

In FreeTDS's bin directory, there is a script, conf2interfaces, to convert the freetds.conf file back into an interfaces file. Running this, you may convert your freetds.conf into a old-style interfaces file to make SybSQL happy. For instance,

$ mkdir ~/freetds
$ conf2interfaces /usr/local/etc/freetds.conf > ~/freetds/interfaces
$ export SYBASE=~/freetds
$ sybsql
By defining SYBASE to the parent directory of the interfaces file, you may put it where ever you like; it does not have to be in /usr/local. When using freetds.conf, FreeTDS does not rely on the SYBASE variable for finding its own components, so it is safe to point it elsewhere.