On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to Oracle is native too?
No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what? I don't know Cincom VisialWorks EXDI cllient to Oracle but I guess it talks by FFI or something like that to the Oracle C client library.
Alan, can you tell us if it is like that? Otherwise, I don't understand ;)
----- Original Message -----
*From:* Mariano Martinez Peck marianopeck@gmail.com *To:* Carlos Crosetti carlos.crosetti@mostar.com.ar *Cc:* esug.gsoc.adm2010@gmail.com *Sent:* Sunday, May 22, 2011 9:35 AM *Subject:* Re: ideas for Smalltak GSoC 2011
Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by "native Oracle client" ? It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.
Cheers
On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
Carlos Crosetti
-- Mariano http://marianopeck.wordpress.com
Ok....after loading the Parcel OracleEXDI and browsing the class OracleInterface, I can guess they use FFI to talk to OCI.
Example:
OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
Cheers
Mariano
On Sun, May 22, 2011 at 5:10 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to Oracle is native too?
No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what? I don't know Cincom VisialWorks EXDI cllient to Oracle but I guess it talks by FFI or something like that to the Oracle C client library.
Alan, can you tell us if it is like that? Otherwise, I don't understand ;)
----- Original Message -----
*From:* Mariano Martinez Peck marianopeck@gmail.com *To:* Carlos Crosetti carlos.crosetti@mostar.com.ar *Cc:* esug.gsoc.adm2010@gmail.com *Sent:* Sunday, May 22, 2011 9:35 AM *Subject:* Re: ideas for Smalltak GSoC 2011
Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by "native Oracle client" ? It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.
Cheers
On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
Carlos Crosetti
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
Sorry....one last thought. I didn't take a look to EXDI but I think it is more or less like OpenDBX but in Smalltalk.
I mean, with SqueakDBX we just wrap OpenDBX, which gives us a unified API. OpenDBX then talks to each database client library. So, we need to libraries: OpenDBX and the database client library.
EXDI is like OpenDBX but written in Smalltak. It gives you a unified API and then it talks to the database client library. The good thing with EXDI is that you only depends on one library: the database client library.
In SqueakDBX we directly use OpenDBX because of these reasons:
1) we don't have man power to code all that in Smalltalk for all backends 2) OpenDBX seems to be fast (although maybe we get the same speed if it were implemented in Smalltalk) 3) Because usually, if you already depends on one library, it doesn't really make a difference to depend on two.
Now, what would really make a difference is to have everything implemented in Smalltalk and don't depend in any external library. But as said, we are not mainstream, so for not open-source projects we have to deal with the drivers they give us.
Cheers
Mariano
On Sun, May 22, 2011 at 5:15 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
Ok....after loading the Parcel OracleEXDI and browsing the class OracleInterface, I can guess they use FFI to talk to OCI.
Example:
OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode <C: sword OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)> ^self externalAccessFailedWith: _errorCode
Cheers
Mariano
On Sun, May 22, 2011 at 5:10 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to Oracle is native too?
No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what? I don't know Cincom VisialWorks EXDI cllient to Oracle but I guess it talks by FFI or something like that to the Oracle C client library.
Alan, can you tell us if it is like that? Otherwise, I don't understand ;)
----- Original Message -----
*From:* Mariano Martinez Peck marianopeck@gmail.com *To:* Carlos Crosetti carlos.crosetti@mostar.com.ar *Cc:* esug.gsoc.adm2010@gmail.com *Sent:* Sunday, May 22, 2011 9:35 AM *Subject:* Re: ideas for Smalltak GSoC 2011
Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by "native Oracle client" ? It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.
Cheers
On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti < carlos.crosetti@mostar.com.ar> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
Carlos Crosetti
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
squeakdbx@lists.squeakfoundation.org