From: Kevin M. Rosenberg Date: Tue, 21 Sep 2004 21:51:33 +0000 (+0000) Subject: r10015: 21 Sep 2004 Kevin Rosenberg X-Git-Tag: v3.8.6~235 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=0f3fe9d3a5a9940966262f760e6972015864cac8 r10015: 21 Sep 2004 Kevin Rosenberg * doc/appendix.xml: Add note about loading Oracle8 version * db-oracle/oracle-loader.lisp: Support Oracle8 based on data from David Young. --- diff --git a/ChangeLog b/ChangeLog index 7bf301b..e75b7f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +21 Sep 2004 Kevin Rosenberg + * doc/appendix.xml: Add note about loading Oracle8 version + * db-oracle/oracle-loader.lisp: Support Oracle8 based on + data from David Young. + 10 Sep 2004 Kevin Rosenberg * doc/Makefile, doc/catalog-darwin.xml: Apply patch from Cyrus Harmon for building docs on Mac OS X diff --git a/db-oracle/oracle-loader.lisp b/db-oracle/oracle-loader.lisp index 6d91e8d..7241402 100644 --- a/db-oracle/oracle-loader.lisp +++ b/db-oracle/oracle-loader.lisp @@ -16,21 +16,29 @@ (in-package #:clsql-oracle) -(defparameter *oracle-lib-path* +(defparameter *oracle-home* (let ((oracle-home (getenv "ORACLE_HOME"))) (when oracle-home - (make-pathname :directory - (append - (pathname-directory - (parse-namestring (concatenate 'string oracle-home "/"))) - (list "lib")))))) + (parse-namestring (concatenate 'string oracle-home "/")))) + "Pathname of ORACLE_HOME as set in user environment.") (defparameter *oracle-client-library-path* (uffi:find-foreign-library - "libclntsh" - `(,@(when *load-truename* (list (make-pathname :directory (pathname-directory *load-truename*)))) - ,@(when *oracle-lib-path* (list *oracle-lib-path*)) - "/usr/lib/oracle/10.1.0.2/client/lib/") + '("libclntsh" "oci") + `(,@(when *load-truename* + (list (make-pathname + :directory (pathname-directory *load-truename*)))) + ,@(when *oracle-home* + (list + (make-pathname :defaults *oracle-home* + :directory + (append (pathname-directory *oracle-home*) + (list "lib"))) + (make-pathname :defaults *oracle-home* + :directory + (append (pathname-directory *oracle-home*) + (list "bin"))))) + "/usr/lib/oracle/10.1.0.2/client/lib/") :drive-letters '("C"))) (defvar *oracle-supporting-libraries* '("c") diff --git a/doc/appendix.xml b/doc/appendix.xml index ad2f4ef..d6a50d9 100644 --- a/doc/appendix.xml +++ b/doc/appendix.xml @@ -591,9 +591,23 @@ library. (libclntsh.so). The location of this library is specified relative to the ORACLE_HOME value in the operating system - environment. &clsql; has tested sucessfully using the client - library from Oracle 9i and Oracle 10g server installations as - well as Oracle's 10g Instant Client library. + environment. + + + + Library Versions + + &clsql; has tested sucessfully using the client library from + Oracle 9i and Oracle 10g server installations as well as + Oracle's 10g Instant Client library. For Oracle 8 and earlier + versions, there is vestigial support by pushing the symbol + :oci7 onto cl:*features* + prior to loading the clsql-oracle &asdf; + system. + + (push :oci7 cl:*features*) + (asdf:operate 'asdf:load-op 'clsql-oracle) +