Connecting to Oracle (was: ODBC connection)

Welch, Ronald P (US SSA) ronald.p.welch at baesystems.com
Mon Nov 29 22:01:52 UTC 2004


Actually, if I were to attempt "going native" with an Oracle
driver I am not sure I would build it on top of OCI. I would
probably attempt to with a pure "thin" driver ala the JDBC
thin drivers using sockets directly in Squeak and eliminating
FFI all together. (See
http://www.lc.leidenuniv.nl/awcourse/oracle/java.920/a96654/overvw.htm)
for an overview of the different types of drivers

----------=-=-=-=-=-=-=-=-========oOo========-=-=-=-=-=-=-=-=----------
mailto:Ronald.P.Welch at baesystems.com                Phone:(607)770-3701
BAE SYSTEMS Controls            600 Main St Johnson City, NY 13790-1888
----------=-=-=-=-=-=-=-=-===================-=-=-=-=-=-=-=-=----------


-----Original Message-----
From: Avi Bryant [mailto:avi.bryant at gmail.com] 
Sent: Monday, November 29, 2004 4:52 PM
To: The general-purpose Squeak developers list
Subject: Connecting to Oracle (was: ODBC connection)


On Mon, 29 Nov 2004 13:26:15 -0800, John M McIntosh


<johnmci at smalltalkconsulting.com> wrote:
> If you dig around you'll find the Oracle Call Interface is documented
> by Oracle
> in one of their publications. This is what VW uses at the lowest
level.
> It's straight C code
> binding to atomic values or arrays. This could easily be done in FFI.
>
> mmm let's see
> http://www.csee.umbc.edu/help/oracle8/server.815/a67846/toc.htm

Hmm... but concurrent calls may still be a problem.  Good news: their
non-blocking interface uses polling rather than callbacks (so would
work with FFI).  Bad news:

" While waiting to retry non-blocking OCI call, the application may
not issue any other OCI calls, or an ORA-03124 error will occur. The
only exceptions to this rule are OCIBreak() and OCIReset(). See
"Cancelling a Non-blocking Call" for more information on these calls.
".

So, you won't block the whole VM, but your Oracle queries will be
strictly serialized.

Avi




More information about the Squeak-dev mailing list