[Haskell-cafe] Access to Oracle database from Haskell

Henning Thielemann lemming at henning-thielemann.de
Tue Jun 24 10:17:12 EDT 2008


On Fri, 20 Jun 2008, Alistair Bayley wrote:

> Another problem is that the Oracle installation process assumes that,
> for all platforms, the library is called oci i.e. the linker option
> -loci is used. For Unix clients, the OCI library seems to be
> libclnstsh.so, so I guess it should pass -lclnstsh. This highlights
> the lack of testing on non-Windows platforms. If you'd like to help
> get this working better, perhaps we can discuss off-list.

(I remain on the list in order to fill the archive with information, 
others may need, too.)

I have now installed the OCI SDK
   http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-devel-10.2.0.4-1.i386.rpm
  and Cabal-1.4 in order to get Takusen from Darcs repository running. I 
configure the package with -f oracle and the package gets compiled (and 
emits several warnings from Haddock-2.0). (Btw. Takusen should be split 
into several packages for all database backends because Cabal flags must 
not influence the package interface.) But on installation Cabal complains 
about missing /usr/oci directory. I assume that this must be the include 
dir of OCI include files. For me this is
   /usr/include/oracle/10.2.0.4/client/
  I can add this path with
     runhaskell Setup.hs configure --extra-include-dirs=/usr/include/oracle/10.2.0.4/client
  but I cannot replace /usr/oci. If I remove /usr/oci manually from 
dist/installed-pkg-config then the path /usr/oci is again added by
     runhaskell Setup.hs install .
  I'm lost. Am I on the right track?

Once I will get Takusen running with OCI - how would I use it? Is there a 
minimal example which connects to an Oracle database, performing a very 
simple query?


More information about the Haskell-Cafe mailing list