Erlang and Oracle

Shawn Pearce <>
Wed Feb 26 06:19:12 CET 2003


Sean was kind enough to send me his driver for OCI8. :-)

I liked his erl code, but erts linked in driver code always gives me
shivers.

I'm thinking about using OTL (http://otl.sourceforge.net/) and ei
to build an external C node which provides a multithreaded interface
to Oracle.  This would allow multiple Erlang nodes and processes to
multiplex onto shared Oracle connections, without the threat of
bugs in OCI, OTL or my own code taking down erts.

If I succeed, I'll try to make it a user contrib.

(For those that haven't seen it yet, OTL looks pretty slick, uses
C++ templates to quickly bind to inlined OCI8/OCI9 calls, hiding
most of the uglyness of working with OCI, but still provides raw
access if you must have it for an advanced feature or two.)


Sean Hinde <> wrote:
> Shawn,
> 
> I started a native oci driver a couple of years back. Then mnesia got better
> at large databases and I kind lost the will to do C.
> 
> There was also a bug in the OCI library that it would dump core if you ever
> tried to close down the reference to it (Oracle accepted this as a known bug
> and proposed a workaround of setting some environment variable which
> prevented ever unloading a shared lib. About a year later they mailed me to
> say the the bug report had been updated but I had forgotten my support
> password and never looked it up).
> 
> The current state is that I got half way through implementing some new thing
> and never finished it, it might not even compile anymore.. If you want it
> then you can have it, and I can try to help explain how it was supposed to
> work..
> 
> When it worked it was really fast :-)

-- 
Shawn.

  Q:	How do you save a drowning lawyer?
  A:	Throw him a rock.



More information about the erlang-questions mailing list