Skip to content

Sybase and MS SQL Server Support

Friday, 28 December 2007  |  jaroslaw staniek

From KDE4-enterprise-functionality dept.: As already noted in the Commit Digest, another database driver (i.e. data provider) has been built on top of Kexi's database abstraction layer (KexiDB 2, codenamed Predicate). It is Sybase driver, also aimed at handling MS SQL Server connections.

Even better news is that these goodies come from the very newest Kexi developer, Sharan Rao, which I have met at Akademy 2007. Before he has been working on Umbrello UML Modeller, which is related to databases too.

As MS SQL Server is practically a fork of Sybase, it is accessible by rather similar connection protocol. Therefore both servers are handled by the same KexiDB driver. Its functionality, now in experimental stage, is implemented on top of so-called 'dblib' layer of the FreeTDS library, which is a result of reverse-engineering of the servers' closed TDS protocol.


KexiDBTest application's output - creation of a new database and test tables on a Sybase server (click to enlarge)


Successful result of the tests (click to enlarge)

One of the fundamental rules for development of Kexi and underlying frameworks is avoiding discrimination against various operating systems and hardware platforms. This is the reason for not using native Windows libraries. Like in the case of import function for MS Access files (mdb), where (unlike of the current OpenOffice.org Base fro Windows, which employs Windows-only library) we are using MDB Tools library, one that is portable to most operating systems and architectures.


Database created on the Sybase server and opened with the KexiDBTest application (click to enlarge)

The Sybase/MSSQL driver has been rather developed for KexiDB/Predicate, not directly for Kexi itself, so we maintain ability of transparent access to the databases from any KDE 4 code. What's interesting, for convenience Sharan utilizes SQL Anywhere for his tests, i.e. an embedded Sybase version -- single-file-based, similar in terms of approach to already well-known SQLite database.

PS: Let me ask you - do not hesitate to contact us if you know someone with working Sybase and/or MSSQL installations that could be accessible remotely from time to time for the purpose of testing the driver.

Greetings and best wishes for the new year!