FreeTDS User Guide: A Guide to Installing, Configuring, and Running FreeTDS
Prev | Chapter 6. How to get what works with it working | Next

# 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.

Prev | Home | Next
PHP | Up | Python