[SqueakDBX] Problems at first go on SqueakDBX

Mariano Martinez Peck marianopeck at gmail.com
Sat Sep 26 21:12:41 UTC 2009


2009/9/26 Herbert König <herbertkoenig at gmx.net>

> Hi Mariano,
>
> this is long but I'm mostly fine so if you have no time, only read the
> last three paragraphs.
>
> MMP> Yeah hahaha. As we talked at ESUG, SqueakDBX was not ever
> MMP> tested with Squeak 3.8.2. And we never tested in MySQL 4, but 5.
> MMP> But I will try to help you.
>
> :-)) yeah and thanks! I might port the Squeak apps to 3.10 on my own.
> I guess they should run with nearly no changes. But porting about 20
> Delphi 5 Apps where the programmer is no more available is quite a
> different beast :-)
>
> MMP>
> MMP> This is wrong. You must do a open first. So, you can do
>
> This is from http://wiki.squeak.org/squeak/6067 and I think this is
> right. Because open before connect gives me a debugger:
>
> SqueakDBXError: SqueakDBX: You are not connected. Try connecting
> first.
>

uffff  I am really sorry. I read the other way. You are totally correct.


>
>
> MMP> I think you are referring to libmysql.dll here, not
> libmysqlbackend.dll
>
> Doh, Blush!! Thanks for reading my error messages for me.
>
> Ok I downloaded mysql5.0 community edition, unzipped it and got
> libmysql.dll of that package (after trying several versions I already
> found on my box).
>
> Now connect works and open gives a recoverable error, see debug3.png.
>
> Continuing sets connected and open of the DBX connection to true.
> Seems now I'm able to follow your further advice.
>

Wait a moment....you are using MySQL client libraries form 5.0 to connect to
a MySQL 4 server ???

is that possible ? or you also migrate your database to a 5.0 ?



>
> MMP> So I renamed libmysqlbackend-1.dll to libmysqlbackend.dll and retried.
>
> MMP>
> MMP> This is weird. libmysqlbackend-1.dll should work. Which
> MMP> Windows are you using ? I will try to reproduce it.
> MMP> But I have  libmysqlbackend-1.dll and everything works ok.
>
> XP Service Pack 3, automatic updates enabled. I believe this is a
> secondary effect. Let's not spend time on this until the first problem
> is solved. I already renamed it back.
>
>
ok.


> MMP>
> MMP> This means that opendbx dll cannot find the libmysqlbackend dll
> MMP> They must be findable by the OS
>
> I will remember that but before using path or system32 I will try to
> confine everything to one single folder. Because the Delphi
> applications will need their versions of libmysql.dll, and my mysqlcc
> happily uses a third version.
>

ok.


>
> MMP> What I would do is to let  libmysqlbackend-1.dll AND
> MMP> libmysqlbackend.dll  in a place where it is findable, not only by
> MMP> Squeak but also for the OS.
> MMP> Because squeak will find opendbx dll but then, this dll will find the
> libmysqlbackend
>
> MMP>
> MMP> http://wiki.squeak.org/squeak/6099
> MMP>
> thanks. Optimists always put debugging information at the end of the
> docs. I do so myself as not to scare away interested people :-))
>
>
hahahahahahah   I


> Friendly Transcript is logging now.
>
>
Excellent.

MMP>
> MMP> I will ask Norbert (OpenDBX author) to see if he knows something about
> this.
>
> Norbert sounds German so if we get stuck, maybe I go to the opendbx
> list myself.
>

Yeah, it would be better if you ask in OpenDBX mailing list. But please,
don't talk in German!! I won't understand a single word ;)


>
> MMP> So do you see a chance to get this configuration work?
>
> MMP>
> MMP> Yes. We will investigate and work together. No panic :)
>
> Thanks! and I promise not to panic :-))
>
> MMP>
> MMP> Yes. Now I want to understand: You must have:
> I understand and I will follow it exactly if I get stuck again.
>
> MMP> - libmysqlbackend-1.dll AND libmysqlbackend.dll
> I hope I get away without the rename after I have the new
> libmysql.dll.
>
> MMP> - libopendbx-1.dll
> MMP> - MySQL client libraries  (in my case: C:\MySQL\bin\ )
>
> MMP> All of them must be findable by the OS: I won't tell you to
> MMP> put it in c:/windows/system32 or in $PATH, but do something :)
>
> Yes Sir :-)))
>
> MMP> Enable logging.
>
> Yea
>
> MMP> So, after having all of that, what happens if you evaluate:
>
> See debug3. But there are no nasty messages in the Transcript and the
> mysqladmin sees the incoming connection and the reply from mysql.
>
> And I can do "conn close. conn disconnect." with proper results in the
> Transcript.
>
> Following the Wiki, after connect and open I sent:
>
> result := conn execute: 'select * from Einzelpruefungen where pruefer = "A.
> Kreizer"'.
>
> which gave me an DBXResult set and reasonable messages in Transcript.
>
> result columnCount does work, rowsAffected gives a DNU (both from
> http://wiki.squeak.org/squeak/6070).
>
>
which DNU here ? the one of the sql_mode ?


> result nextRow explore gives a very reasonable DBXRow, see png.
>
> result columnDescriptions explore gives DBXTypeNotSupported (see png)
> for timestamp and text  (see mysqlcc.png).
>
>
No, sorry :(   You cannot use timestamp. You have to use DATETIME :(
I am sorry but that's OpenDBX. Read:
http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes#Temporal_types
I hope this not to be a big problem for you.


> BTW there was a typo on the Wiki the last "s" in columnDescriptions
> was missing.
>

Sorry. I couldn't find it. Where is it ?


>
> So basically it seems I'm fine, for the next nextRow gives a
> reasonable next row.
>
> Let me suggest, we only solve the "unknown system variable" problem
> from debug3.png and maybe find an explanation for DBXTypeNotSupported.
> Then I'll write up a text on what is needed to run SqueakDBX with
> mysql4 (I believe there is no 3.8.2 related problem). I go through the
> Wiki examples and report problems here and correct typos as I
> encounter them.
>
>
That would be VERY helpful for us and we will really appreciate that.
I will investigate the "unknown system variable".



> From my own job I tend to assume documentation errors if the user
> blunders (me in not copying libmysql.dll). I never compiled OpenDBX
> but with your permission I will clarify the single sentence about
> "installing your client library" in
> http://wiki.squeak.org/squeak/6129 for end users like me.
>

Are you referring to " In both cases, you must have installed your database
client library first. " ??


>
> And if you don't mind I will also go over the descriptions about
> Windows because as I said on my system I have one libmysql.dll in my
> mysql folder (for mysqladmin) and two different ones for SqueakDBX and
> mysqlcc. Both suggestions (path and system32) give me a headache and I
> vastly prefer a "could not find libmysql.dll" over the errors
> occurring if the system finds the wrong dll.
>
>
Ok. However I already edited the wiki with your comments:

http://squeakdbx.smallworks.com.ar/Compiling%20and%20installing%20OpenDBX


>
> Thanks a lot for your help,
>
>
You are welcome.



> Herbert                            mailto:herbertkoenig at gmx.net
>
> _______________________________________________
> SqueakDBX mailing list
> SqueakDBX at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20090926/7c319111/attachment.htm


More information about the SqueakDBX mailing list