User Tools

Site Tools


dbdesigner

DBDesigner on Debian

Outflank the problem! Alternative solution, use wine! In fact, I'd like to recommand strongly to use wine and the Windows installer. It will save you a lot of time with the configuration and the user interface will be nicer:-)

I have put some details on my blog: http://21croissants.blogspot.com/2006/12/dbdesigner-4-on-ubuntu-dbdesigner-4-on.html

I collect some Links, great work here!

Update by Danilo Cesar

I think that some people will have some problems with new windows under wine that dont get focus. I solve this problem with devilspie and a little script under it. You can find it on: http://www.danilocesar.com/blog/2007/01/13/dbdesigner-wine-e-janelas-que-nao-ganham-foco.

(Unfortunately, Portuguese only)


From Martin

I can confirm that - I went both ways, and Wine one (actually, I used CrossOver for Linux) is much easier and has better results. Martin ===

From Marcio

Come here: http://fabforce.net/ Marcio ===

WORK IN PROGRESS

DBDesigner 4

Get the .tgz from the download site.

It needs a shared library from Kylix:

libborqt-6.9-qt2.3.so: cannot open shared object file: No such file or directory

Get it from the Kylix Libraries page:

$> wget http://heanet.dl.sourceforge.net/sourceforge/kylixlibs/kylixlibs3-borqt_3.0-1_i386.deb
#> dpkg -i kylixlibs3-borqt_3.0-1_i386.deb

Then make a symbolic link to the lib and do ldconfig:

#> cd /usr/lib
#> ln -s kylix3/libborqt-6.9-qt2.3.so
#> ldconfig

It also needs a c++ shared library:

$>./startdbd 
(nothing happens)
$>cat ~/.DBDesigner4/DBD4.log
$>libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
$>apt-get libstdc++2.10-glibc2.2

(Running Debian sarge, I found that this was sufficient to get the application started (this is DBDesigner 4.0.5.4 Beta). (I didn't even need the libborqt libraries installed. Still trying to figure out why…)

With regards to DBDesigner4.0.5.4.tar.gz on Ubuntu Breezy (close enough to Debian ;-)) and after following the instructions above I still got the “file not found” error for libborqt-6.9-qt2.3.so. To resolve this I ran “strace /opt/DBDesigner4/DBDesigner4” and saw that it was trying to open up libborqt-6.9-qt2.3.so in a variety of locations under /lib. I made a symbolic link to one of those locations:

#> ln -s /usr/lib/kylix3/libborqt-6.9.0-qt2.3.so /lib/libborqt-6.9-qt2.3.so

Thereafter, DBDesigner started up. I see now, though, that I have to resolve the libsqlmy.so problem. Thanks for the great site!

http://crlab.com/dbx/download.html DBExpress driver

$> ls -l /var/log

more kylix libs needed: http://www.fabforce.net/forum/viewtopic.php?p=2710#2710

Using ODBC

UnixODBC is available from http://www.unixodbc.org/ or for Debian users by using apt-get:

#> apt-get install unixodbc unixodbc-bin

The next thing needed is an ODBC driver for MySQL which is available as binary package from http://dev.mysql.com/downloads/connector/odbc/. You should fix some links before copying the files:

$> wget http://dev.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.07-pc-linux-i686.tar.gz/from/http://ftp.plusline.de/mysql/
$> tar -xzvf MyODBC-3.51.07-pc-linux-i686.tar.gz
$> cd MyODBC-3.51.07-pc-linux-i686
$> rm -f libmyodbc3 libmyodbc3_r
$> ln -s libmyodbc3-3.51.07 libmyodbc3
$> ln -s libmyodbc3_r-3.51.07 libmyodbc3_r
#> cp -a libmyodbc* /usr/local/lib/

—-

I am running debian unstable and after doing all the above, I still got

libborqt-6.9-qt2.3.so: cannot open shared object file: No such file or directory

Finally fixed everything when I got an rpm and converted it to deb with the program alien

libborqt-6.9.0-2.i386.rpm can be downloaded from :

http://sourceforge.net/project/showfiles.php?group_id=64092&package_id=68416

Convert to deb file with alien and then install it.

#> alien libborqt-6.9.0-2.i386.rpm
#> dpkg -i libborqt_6.9.0-3_i386.deb  

Sarge does work with the libborqt_6.9.0-3_i386.deb from http://sourceforge.net/project/showfiles.php?group_id=64092&package_id=68416

The rpm seems to be working for Mandrakelinux 10.x too.

Same problem under Ubuntu 5.04 too. I downloaded libborqt_6.9.0-3_i386.deb from http://sourceforge.net/project/showfiles.php?group_id=64092&package_id=68416, installed, and it worked :)

On Debian unstable (sid), I had to install the following package and libborqt-6.9.0-2: http://packages.debian.org/unstable/libs/libstdc++2.10-glibc2.2

Download the package from the URL above and install it with dpkg.

Problems with libsqlmy.so

After following the previous steps in debian sarge I can't use ./startdbd to run the application; it only starts using ./DBDDesigner4 (it reports the error 'libstdc++-libc6.2-2.so.3: can't open shared file.'). But when I try to open a MySQL database, it reports the error “Unable to load libsqlmy.so”. What workarounds can be done here?

Thanks you very much.

Lbracci@cantv.net

I had the same problem

cmorel@ecnex.com

I had the same problem…and here is the fix: I installed the dbexpress library: download the .tar.gz, copied file libsqlmda.so.2.60 (or 3.10 that is a newer version) to /usr/lib and execute ldconfig.

Page for DBExpress downloads

Then I went to DBDesigner4 → Database → Connect to database. Click on “New Database Connection”, select the “Advance” tab and change the following parameters:

  • LibraryName: libsqlmda.so.2.60 (or 3.10, depending of the version that you downloaded)
  • VendorLib: libmysqlclient.so.10.0.0
  • GetDriverFunc: getSQLDriverMySQL

Please note that by default the GetDriverFunc is “getSQLDriverMYSQL” with capital 'Y', that's why it cannot find it (the function inside the libsqlmda.2.60 is getSQLDriverMySQL, if you execute

# objdump -TC linsqlmda.so.2.60 (or 3.10)

you'll see what I mean)

apatruduque

For a more permanent option, find the [Installation directory]/Data/DBConn_DefaultSettings.ini and edit the same settings as above in this file. This will make the changes global and permanent.

paul

USING XSLT for reporting

ecause Dbdesigner saves in xml format you can use any xsltprocessor for reporting or for inclusing in your documentation, just an example I used the Example/order.xml (But you can use any model) to create the html page do

   xsltproc order.xsl Example/order.xml > order.html

<!———order.xsl—- <xsl:stylesheet version=“1.0”

              xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output encoding=“utf-8” method=“html”/>

<xsl:key name=“data” match=“DATATYPE” use=“@ID”/> <xsl:key name=“Table” match=“TABLE” use=“@ID”/> <xsl:key name=“Cols” match=“COLUMN” use=“@ID”/> <xsl:key name=“RelTo” match=“RELATION” use=“@DestTable”/> <xsl:key name=“RelFrom” match=“RELATION” use=“@SrcTable”/>

<xsl:template match=“/”> <head> <script type="text/javascript"> <xsl:comment> function toggle(id){ var el = document.getElementById(id); if (el.style.display == 'none') el.style.display = 'block'; else el.style.display = 'none'; } </xsl:comment> </script> </head> <body bgcolor="white"> <xsl:apply-templates /> </body> </xsl:template>

<xsl:template match=“TABLES”>

<table border="1">
	<tr>
		<th>Table [,relate to[,..]] [|relate from[|..]]</th>
		<th>Columns</th>
	</tr>
	<xsl:apply-templates />
</table>

</xsl:template>

<xsl:template match=“TABLE”>

<tr>
	<td span="2"><a href="javascript:toggle({@ID});"><xsl:value-of select="@Tablename" /></a>
		<xsl:for-each select="key('RelFrom',@ID)">
			<xsl:text>,</xsl:text><a href="javascript:toggle({@DestTable});">
			<xsl:for-each select="key('Table',@DestTable)">
				<xsl:value-of select="@Tablename"/>
			</xsl:for-each>
			</a>
		</xsl:for-each>
		<xsl:for-each select="key('RelTo',@ID)">
			<xsl:text>|</xsl:text>
			<a href="javascript:toggle({@SrcTable});">
			<xsl:for-each select="key('Table',@SrcTable)">
				<xsl:value-of select="@Tablename"/>
			</xsl:for-each>
			</a>
		</xsl:for-each>
	</td>
</tr>
<tr>
	<td></td>
	<td><div id="{@ID}" style="display:none;">
	<xsl:apply-templates />
		</div>
	</td>
	<td>
	</td>
</tr>

</xsl:template>

<xsl:template match=“COLUMNS”>

<table border="1">
	<tr>
		<th>Naam</th>
		<th>Type</th>
		<th>Key</th>
		<th>Null</th>
		<th>ForeignKey</th>
	</tr>
	<xsl:apply-templates />
</table>

</xsl:template>

<xsl:template match=“COLUMN”>

<tr>
	<td><xsl:value-of select="@ColName" /></td>
	<td>
		<xsl:call-template name="ConvertId2Type">
			<xsl:with-param name="idx" select="@idDatatype" />
		</xsl:call-template>
		<xsl:value-of select="@DatatypeParams"/>
	</td>
	<td><xsl:value-of select="@PrimaryKey"/></td>
	<td><xsl:value-of select="@NotNull"/></td>
	<td><xsl:value-of select="@IsForeignKey"/></td>
</tr>

</xsl:template>

<xsl:template name=“ConvertId2Type”>

<xsl:param name="idx" />
<xsl:for-each select="key('data',$idx)">
	<xsl:value-of select="@TypeName"/>
</xsl:for-each>

</xsl:template> </xsl:stylesheet> ———- end order.xsl ———→

Have fun Rene

dbdesigner.txt · Last modified: 2007/11/06 22:02 by 189.11.236.216