Skip to content

naviserver-project/nsoracle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This directory contains release 2.10 of an Oracle driver for
NaviServer/AOLserver.

The driver was originally written by Cotton Seed
(cottons@lcs.mit.edu), later modifications by Mark Dalrymple
(markd@arsdigita.com), Jin Choi (jsc@arsdigita.com), Rob Mayoff
(mayoff@arsdigita.com), Andrew Piskorski and Gustaf Neumann

This Oracle driver is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License, as
published by the Free Software Foundation; either version 2, or (at your
option) any later version.

How to Build:

* Requires GNU Make (available from the GNU project at
  http://www.gnu.org.  It is usually called "make-*.tar.gz" on the GNU ftp
  sites)

* Set ORACLE_HOME in your environment.

* Edit the Makefile and set NSHOME to the location of your NaviServer/AOLserver
  source or binary tree.

* Run "make" or "gmake" (whichever is GNU Make).

* Run "make install" or copy "nsoracle.so" and "nsoraclecass.so" to your
  NaviServer/AOLserver bin directory.  "nsoraclecass.so" is the Cassandracle Oracle
  driver; it only permits SELECT statements.


NaviServer Hints:

  Compilation works for Oracle with Oracle client libs
  Version 19.3.0.0.0 (instant client package and
  instant client package SDK, 64-bit). After downloading from e.g.,
  https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
  install this library e.g. under /usr/local/src/oracle
  and set ORACLE_HOME accordingly

     export ORACLE_HOME=/usr/local/src/oracle/instantclient_19_8/

  After downloading the client libraries, ORACLE_HOME should include

     # includes: under $ORACLE_HOME/sdk/include/
     # libraries: $ORACLE_HOME/lib/

  To build and install the binary under NaviServer, use e.g.

     make
     make install


NOTES:

   The Driver docs are at
   https://naviserver.sourceforge.io/n/manual/files/c-driverdb.html

   The Oracle OCI docs are in Programmer's Guide to the Oracle Call Interface
   https://docs.oracle.com/en/database/oracle/oracle-database/19/adobj/oracle-call-interface-oci.html

   Config parameters in [ns/db/driver/drivername]:

     Debug: boolean (Defaults to off)
        Enable the "log" call so that lots of stuff gets sent to the
        server.log.

     ConvertEncoding: boolean (Defaults to off)
        Initialize the Oracle interface with OCIEnvNlsCreate() instead of
        OCIEnvCreate() to guarantee translation of Oracle's charset to
        UTF-8 (Tcl's internal charset).

     MaxStringLogLength: integer (defaults to 1024); -1 implies unlimited
        how much character data to log before just saying [too long]

     CharExpansion: integer defaulting to 1
        Factor by which byte representation of character strings can expand
        when fetched from the database.  Should only be necessary to set this
        if your Oracle is not using UTF-8, in which case a value of 2 should
        work for any ISO-8859 character set.

     LobBufferSize: integer defaulting to 16384
        Size of memory chunks exchanged with the Oracle Server for Lobs

     PrefetchRows: integer defaulting to 0
        optional tuning parameter for prefetch operations

     PrefetchMemory: integer defaulting to 0
        optional tuning parameter for prefetch operations (alternative to PrefetchRows)

   To make a "safe" driver (say for servers running with DBA privileges) that
   only allows SELECT statements, define FOR_CASSANDRACLE when compiling this code

About

Oracle driver based on nsdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •