User Tools

Site Tools


dbdesigner

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
dbdesigner [2007/05/28 14:59]
91.3.117.180
dbdesigner [2007/11/06 22:02] (current)
189.11.236.216
Line 1: Line 1:
 +====== 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
 +
 +[[http://​wiki.mobbing-gegner.de/​Linux/​MySql/​GuiDBTools/​DBDesigner|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 =====
 +
 +[[http://​www.fabforce.net/​dbdesigner4/​index.php|DBDesigner 4]]
 +
 +Get the .tgz from the [[http://​www.fabforce.net/​dbdesigner4/​downloads.php|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 [[http://​kylixlibs.sourceforge.net/​down.html|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.
 +
 +[[http://​crlab.com/​dbx/​download.html|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="/">​
 +<​html>​
 + <​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>​
 +</​html>​
 +</​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