Connecting to Oracle (was: ODBC connection)

Avi Bryant avi.bryant at gmail.com
Mon Nov 29 22:11:05 UTC 2004


On Mon, 29 Nov 2004 16:49:07 -0500, John Pierce
<john.raymond.pierce at gmail.com> wrote:
> Hi Avi,
> 
> We do a lot of ODBC FFI work in Squeak with great success, but I must
> confess that we have very limited concurrency requirements (e.g. 5
> simulatenous users).  In your opinion, where does the ODBC FFI plugin
> begin to *not* work well as we have not experienced any issues from
> the blocking behavior of FFI?

It's good to hear it's working well for you.  I've never used ODBC in
production, so I'm speaking with less experience and less authority
than you are.  Where I would *expect* it to be a problem is when you
have single queries that take a significant amount of time, rather
than a large number of fast ones.  I'd think that this could lead, for
example, to HTTP connections being refused if someone tries to access
your application at the same time as someone else is in the middle of
a lengthy search or complex report.  But again, this isn't something
I've actually experienced, so maybe it's less of a problem in practice
than it seems in theory.  That would be nice; it's so often the other
way around...

> Also, what do you think it would take to implement a native ODBC
> interface.  Would native interfaces require implementing native
> drivers for each vendor's database that one was targeting?  I think I
> know the answer to this question, but just checking.

Well, I thought the whole point of ODBC was that you don't have to
deal with individual vendors' APIs.  If the ODBC C library has a
non-blocking interface (which it must, surely), then you could write a
plugin that used that instead of the blocking FFI interface we
currently have and the problem would go away.

> For the record, we use Microsoft SQL Server and the ODBC FFI interface
> with essentially no foul side effects of the blocking problem of using
> FFI -- so I am a bit baffeled by folks hestitancy in using the ODBC
> FFI library.

Out of curiosity, what happens if you simulate higher loads (10 or 20
or 50 concurrent users) with your app?  It would be good to get a real
world sense of where the issue kicks in, so people can make better
informed choices (like me, who until I read this message had more or
less written ODBC off for use in web apps).

Avi



More information about the Squeak-dev mailing list