This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Newbie again. Oracle. DLL calls
On Wed, May 10, 2000 at 03:06:21PM +0600, Sergey Dolin wrote:
> thanx for your attention, but I ask a little another question.
> PC>It's possible to do what you want. I started work on this, and got
> Yes... guile has modules written on c, but DYNAMIC-LINKING
> says they are not well tested...
This works pretty well afaik. I'm no guru, though. I do know that I got
guile to load an oracle (oci ver 8) module that gave me access to a
database, and the dynamic loading stuff was reliable under linux.
> PC>sidetracked. I want to try to do it with swig once guile support is
> PC>relatively stable again. The size of OCI makes it daunting, and I think
> PC>that it'd require too many smob's to just full export oci's full interface
> nevermind. I've solved some task for slang and ActiveX.
I'm not sure how many smob's a full oci interface (for whatever version)
will require. Could it exceed 255? Probably not, but who knows. Guile
does have a static limit on how many smob's can be created.
> PC>2) Oracle's OCI interface changes noticibly between releases. So your
> PC>application glue should be portable between the same version of oracle on
> PC>different platforms (it should be mostly makefile changes).
> nop. Oracle 7.2 will be enough to everyone ;)
As long as you don't have to do things like access blob's or clob's that are
in the database, right? As I recall, 7.2 doesn't have in-database LOB's in
the database or in the API. Please correct me if I'm wrong since it's this
kind of thing that I get hung up on.
> PC>3) The way OCI does memory allocation and the strange opaque types it uses
> PC>to try to avoid good interface design and force seperation make the
> PC>groundwork a bit difficult, and difficult in places that
> It's true. Oracle corp. saves its money on non-RDBMS programmers.
>
> But. The main question is - what is the best way to imbed oracle interface
> in guile?
I like thi's suggestion - do a lot of glue code and then put the interface
you find yourself using on top of it, and export that smaller interface into
guile.
Since your original question said "yes/no" is good enough, my answer is
"yes" it can be done entirely in guile.
--
The 5 year plan:
In five years we'll make up another plan.
Or just re-use this one.