<br><br><div class="gmail_quote">On Mon, Apr 11, 2011 at 11:31 AM,  <span dir="ltr">&lt;<a href="mailto:Mikey.Sanchez@gmail.com" target="_blank">Mikey.Sanchez@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

1. If my application gains traction it will need a fairly serious object store. It also needs to integrate with 3rd party drelational databases. I need to make sure that if I opt for GemStone that I can &quot;take&quot; my relational DB connectivity with me.<br>

</blockquote><div><br>Something maybe stupid...Esteban or Diogenes may help you more than me. But..<br>1) Be aware of the difference between Gemstone and the Pharo image that comes with the tools to connect to Gemtsone. For example, if you want to migrate a relational database to Gemtsone, you CAN do it with SqueakDBX, because such work can be done by that Pharo image: it uses SqueakDBX to read databse, and write it in Gemstone. Several people used SqueakDBX for that purpose.<br>

<br>2) Ask in the Gemstone mailing list about this. I think they may have ODBC or something like that.<br><br>3) Ask in Gemstne mailing list, how it is their FFI. Because SqueakDBX is quite decoupled from the FFI implementation. You can just subclass OpenDBX class and use another FFI calls. I guess the &quot;Smalltalk&quot; part of SqueakDBX is quite portable. <br>

<br>4) What about integrating with 3rd party relational databases trought something that not a query directly ? what about webservices or things like that? you can have another Pharo image that uses SqueakDBX and publish webservices (or similar) and you consume them from Gemstone<br>

 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><br>2. I&#39;ll check the GLORP integration docs and the new loader.<br><br></blockquote>
<div><br>Something like this may help you to get started:<br><br>Gofer new<br>
squeaksource: &#39;MetacelloRepository&#39;;<br>
package: &#39;<span class="il">ConfigurationOfGlorpDBX</span>&#39;;<br>
load.<br>
<br>
<span class="il">ConfigurationOfGlorpDBX</span> project lastVersion load.<br><br>Cheers<br><br>Mariano<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
Thanks,<br><br><br>Miguel<br><br><br><br><br>On Apr 10, 2011 11:23pm, Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt; wrote:<br>
&gt; <br>&gt; <br>&gt; On Fri, Apr 8, 2011 at 4:01 PM, Miguel Sanchez <a href="mailto:mikey.sanchez@gmail.com" target="_blank">mikey.sanchez@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt; Hi,<br>&gt; <br>&gt; <br>&gt; <br>&gt; OK after a few weeks hiatus I&#39;ve managed to get all the SqueakDBX<br>

&gt; <br>&gt; tests to pass (ok two are still failing but they don&#39;t look like a big<br>&gt; <br>&gt; deal. ) Yayyyyyyy! It helped using the right backend. I&#39;ve all but<br>&gt; <br>&gt; given up compiling openDBX. If I have time I&#39;ll go back to it for<br>

&gt; <br>&gt; completeness. I&#39;ll suggest some changes to the windows specific<br>&gt; <br>&gt; documentation, or make them myself. How do you want to proceed?<br>&gt; <br>&gt; <br>&gt; <br>&gt; Let me check with the rest of the team.<br>

&gt;  <br>&gt; <br>&gt; Soooooo now I have two questions that have occured to me.<br>&gt; <br>&gt; 1. Is SqueakDBX ported to GemStone? (I&#39;m guessing not)..<br>&gt; <br>&gt; The problem is FFI. What do you want to do exacly ?  I mean, why (for what) you need SqueakDBX in Gemstone ?<br>

&gt;   <br>&gt; <br>&gt; <br>&gt; <br>&gt; 2. Is there a MsSQLPlatform on GLORP or does the SQLServerPlatform<br>&gt; <br>&gt; integration work. (GLORP documentation makes reference to *rumours* of<br>&gt; <br>&gt; SQLServer integration working.) Basically what is the state of the<br>

&gt; <br>&gt; GLORP/SqueakDBX rearchitecture work looking in order to use SueakDBX<br>&gt; <br>&gt; backend?<br>&gt; <br>&gt; <br>&gt; <br>&gt; Maybe you can take a look to: <br>&gt; <br>&gt; <a href="http://www.squeakdbx.org/GLORP%20integration" target="_blank">http://www.squeakdbx.org/GLORP%20integration</a><br>

&gt; <br>&gt; However, the installation scripts are out-dated. We now use ConfigurationOfGlorpDBX, not those loaders.<br>&gt; <br>&gt; <br>&gt;  <br>&gt; <br>&gt; Best Regards,<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>

&gt; Miguel<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; On 23 March 2011 23:41, Mariano Martinez Peck <a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt; &gt;<br>&gt; <br>

&gt; &gt;<br>&gt; <br>&gt; &gt; On Wed, Mar 23, 2011 at 11:39 PM, Miguel Sanchez <a href="mailto:mikey.sanchez@gmail.com" target="_blank">mikey.sanchez@gmail.com</a>&gt;<br>&gt; <br>&gt; &gt; wrote:<br>&gt; <br>&gt; &gt;&gt;<br>

&gt; <br>&gt; &gt;&gt; So it&#39;s a feature and not a bug.... ;-)<br>&gt; <br>&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;<br>&gt; <br>&gt; &gt; heheheheh<br>&gt; <br>&gt; &gt;<br>&gt; <br>&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; I&#39;ve got some stuff on compiling freeTDS and if I ever manage to<br>

&gt; <br>&gt; &gt;&gt; compile openDBX I&#39;ll put together a howto.<br>&gt; <br>&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;<br>&gt; <br>&gt; &gt; Ok. We can then integrate them where they should go:<br>&gt; <br>&gt; &gt; <a href="http://www.squeakdbx.org/Compiling%20for%20different%20backends" target="_blank">http://www.squeakdbx.org/Compiling%20for%20different%20backends</a><br>

&gt; <br>&gt; &gt;<br>&gt; <br>&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; On 23 March 2011 23:34, Mariano Martinez Peck <a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;<br>&gt; <br>&gt; &gt;&gt; wrote:<br>

&gt; <br>&gt; &gt;&gt; &gt; ehehehhehe  Pharo &gt; 1.1  is broken with this...this is a known bug<br>&gt; <br>&gt; &gt;&gt; &gt; (check<br>&gt; <br>&gt; &gt;&gt; &gt; Pharo issue tracker)<br>&gt; <br>&gt; &gt;&gt; &gt; But don&#39;t worry, just evaluate: DBXPlatform<br>

&gt; <br>&gt; &gt;&gt; &gt; disableAutomaticConnectionReleaseOnGC  and that&#39;s all. It is safe, don&#39;t<br>&gt; <br>&gt; &gt;&gt; &gt; worry.<br>&gt; <br>&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt; BTW...if you have something to improve our documentation in the website,<br>

&gt; <br>&gt; &gt;&gt; &gt; please let us know.<br>&gt; <br>&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt; Cheers<br>&gt; <br>&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt; Mariano<br>&gt; <br>&gt; &gt;&gt; &gt;<br>

&gt; <br>&gt; &gt;&gt; &gt; On Wed, Mar 23, 2011 at 11:29 PM, Miguel Sanchez<br>&gt; <br>&gt; &gt;&gt; &gt; <a href="mailto:mikey.sanchez@gmail.com" target="_blank">mikey.sanchez@gmail.com</a>&gt;<br>&gt; <br>&gt; &gt;&gt; &gt; wrote:<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; OK so after struggling to build openDBX (that one is ongoing), on your<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; instruction I switched to using DBXOdbcPlatform and ......... SUCCESS!<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; Well ok partial success. I managed to open the connection and while<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; investigating the resultset of a select I started getting an error. In<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; DBXConnection&gt;&gt;connect<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; On the line<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;        self platform class isAutomaticConnectionReleaseOnGC ifTrue: [<br>&gt; <br>

&gt; &gt;&gt; &gt;&gt;                SqueakDBXSmalltalkDialect current<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; addObjectToGarbageCollect: self].<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; /*during addObjectToGarbageCollect:*/<br>&gt; <br>

&gt; &gt;&gt; &gt;&gt; I get the error: &quot;Error: There is no free space in this set.&quot;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; Do I need to force a garbage collect?<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; Best Regards,<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; Miguel<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; On 15 March 2011 18:22, Miguel Sanchez <a href="mailto:mikey.sanchez@gmail.com" target="_blank">mikey.sanchez@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; OK so I&#39;ve had no luck getting to the bottom of the problem so far. I<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; still get thrown into  &quot;DBXRecovereableError: RECOVERABLE OpenDBX:<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; Connecting to server failed&quot; when calling DBXConnection&gt;&gt;open.<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; I can connect with the Windows command-line tsql equivalent<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; (sqlcmd.exe) so the DB  user and permissions are correct.<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; I said I was going to try and build from sources instead of the<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; precompiled binaries.<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt;        self platform class isAutomaticConnectionReleaseOnGC ifTrue: [<br>&gt; <br>&gt; &gt;&gt; &gt;&gt;                SqueakDBXSmalltalkDialect current<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; addObjectToGarbageCollect: self].&gt;<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; I&#39;ve downloaded and installed (finally) MinGW. I&#39;ve (finally!)<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; downloaded sources of opendbx 1.4.5 and freetds-0.8.2.<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; freetds built fine and put the headers in an accessible place. but<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; now<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; when I try to configure opendbx I get the following:<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; checking for style of include used by make... GNU<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; checking for gcc... gcc<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; checking whether the C compiler works... no<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure: error: in `/opendbx-1.4.5&#39;:<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure: error: C compiler cannot create executables<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; See `config.log&#39; for more details.<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; config.log says the following:<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; ===============================================<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; <br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:3972: gcc -qversion &gt;&amp;5<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; gcc.exe: unrecognized option &#39;-qversion&#39;<br>&gt; <br>
&gt; &gt;&gt; &gt;&gt; &gt; gcc.exe: no input files<br>
&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:3983: $? = 1<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:4003: checking whether the C compiler works<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:4025: gcc  /local/include  conftest.c  &gt;&amp;5<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; cannot fin<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; d C:/MinGW/msys/1.0/local/include: Permission denied^M<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; collect2: ld returned 1 exit status^M<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:4029: $? = 1<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure:4067: result: no<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; configure: failed program was:<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; | /* confdefs.h */<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; <br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; ======================================<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>

&gt; &gt;&gt; &gt;&gt; &gt; The directory C:/MinGW/msys/1.0/local/include exists and is writable<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; by<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; me.<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; Right now it feels like I&#39;m trying to solve the problem of building<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; opendbx without knowing if it&#39;s getting me any closer to getting<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; squeakDBX working.<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; Any help would be appreciated.<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt; Miguel<br>

&gt; <br>&gt; &gt;&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;&gt; &gt;<br>&gt; <br>&gt; &gt;<br>&gt; <br>&gt; &gt;<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; -- <br>&gt; Mariano<br>

&gt; <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>&gt; <br>&gt; <br>&gt;</blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>

<br>