Sunday, January 20, 2008

Installing DBDesigner4 on Kubuntu Gutsy

DBDesigner4 is a visual database design system that integrates database design, modeling, creating, and maintenance into a single seamless environment.

DBDesigner4 is, in fact, comparable to products such as Oracle's Designer, IBM's Rational Rose, Computer Associate's ERwin, and theKompany's DataArchitect.
- http://www.fabforce.net/dbdesigner4/

DBDesigner4 an Open Source Software optimized for MySQL databases and is the next best thing to MySQL Workbench - which is based on DBDesigner4. Until MySQL release a Workbench for Linux, I guess we all have to settle for DBDesigner.

What to Download
The first thing you should decide on is what installer to download from http://fabforce.net/downloads.php. There's a Tarball, an RPM, and an EXE file for Windows.

The EXE installs and works great on WINE (if you have it installed). I haven't encountered any problem with this install - yet, not even performance issues. You should use this if you don't want to go through the hassle of troubleshooting DBDesigner. Just click on the installer to launch it on WINE. No need to launch it from the command-line.

But being a Linux aficionado, I preferred a tarball or rpm install though. The tarball's fine, just issue tar zxvf DBDesigner4.0.5.4.tar.gz to extract the files.

The RPM install is preferred if you want DBDesigner4 available to all users on your system. However, you'll need alien on Gutsy. This tutorial would go through installing DBDesigner4-0.5.4-0.i586.rpm.

Installing Alien
Issue the command: sudo aptitude install alien

dbdesigner01.png

Download DBDesigner4-0.5.4-0.i586.rpm
Download the RPM file here: http://fabforce.net/downloadfile.php?iddownloadfile=9

Install DBDesigner4-0.5.4-0.i586.rpm
Issue the command: sudo alien -i DBDesigner4-0.5.4-0.i586.rpm

dbdesigner02.png

libborqt-6.9-qt2.3.so: cannot open shared object file: No such file or directory
DBDesigner4 is installed on /opt/DBDesigner4, however, we wouldn't be able to launch it since it'll give you the libborqt error.

dbdesigner03.png

To fix this error, we need to download and copy libborqt-6.9-qt2.3.so to /usr/lib. Download the file at http://prdownloads.sourceforge.net/kylixlibs/kylixlibs3-borqt-3.0-2.tar.gz?download

Extract it by issuing this command: tar xzvf kylixlibs3-borqt-3.0-2.tar.gz

dbdesigner04.png

Then copy the dependency to /usr/lib: sudo cp kylixlibs3-borqt/libborqt-6.9.0-qt2.3.so /usr/lib/libborqt-6.9-qt2.3.so

dbdesigner05.png

Now launch DBDesigner:



Fonts
The font is sucky, so you may need to change it to Helvetica-10 to make DBDesigner4 look more appealing.
Options > DBDesigner Options > Visual Options

dbdesigner07.png

Menu Entry
Create a Menu Entry using this values:
Name: DBDesigner4
Icon: /opt/DBDesigner4/Gfx/Icon48.xpm
Command: /opt/DBDesigner4/DBDesigner4

dbdesigner08.png

Unable to Load libsqlmy.so
When connecting to the database, you'll get this error:

dbdesigner09.png

To fix this, you need to go to http://crlab.com/dbx/download.html and download dbExpress driver for MySQL, Linux version 4.20

Then to extract the file, type: tar zxvf dbxmda.tar.gz



Then copy libsqlmda.so.4.20 to /usr/lib: sudo cp DbxMda/libsqlmda.so.4.20 /usr/lib
and run: sudo ldconfig



Then relaunch DBDesigner4.

Libmysqlclient.so Error
Some may encounter the unable to load libmysqlclient.so error. There's an incompatibility issue with libmysqlclient.so.15, so you'll need to download and install libmysqlclient.so.10.

Download the file at ftp://ftp.wesmo.com/pub/contributed/RPMS/MySQL-shared-compat-4.1.9-0.i386.rpm

Then install it: sudo alien -i MySQL-shared-compat-4.1.9-0.i386.rpm



Making changes globally
Open ~/.DBDesigner4/DBConn_DefaultSettings.ini in Kate and change the folowing:

GetDriverFunc=getSQLDriverMYSQL
LibraryNameLinux=libsqlmy.so

VendorLibLinux=libmysqlclient.so


to

GetDriverFunc=getSQLDriverMySQL
LibraryNameLinux=libsqlmda.so.4.20
VendorLibLinux=libmysqlclient.so.10




And there you go. Hope everything works for you. I know this is temporary, since we're only waiting for MySQL Workbench for Linux... right?

Blogged with Flock