Oracle
Prev | Appendix A. Database Back-ends | Next

## Oracle

### Libraries

The Oracle back-end requires the Oracle OCI client library. (`libclntsh.so`). The location of this library is specified relative to the ORACLE_HOME value in the operating system 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)

### Initialization

Use

    (asdf:operate 'asdf:load-op 'clsql-oracle)

to load the Oracle back-end. The database type for the Oracle back-end is :oracle.

### Connection Specification

#### Syntax of connection-spec

    (global-name user password)

#### Description of connection-spec

`global-name`

  String representing the global name of the Oracle database. This is looked up through the tnsnames.ora file.

`user`

  String representing the user name to use for authentication.

`password`

  String representing the password to use for authentication..

### Notes

#### Symbolic SQL Syntax

- The `userenv` operator is Oracle specific.

- Oracle does not support the `except` operator. Use `minus` instead.

- Oracle does not support the `all`, `some`, `any` subquery operations.

#### Transactions

- By default, CLSQL starts in transaction AUTOCOMMIT mode (see `set-autocommit`). To begin a transaction in autocommit mode, `start-transaction` has to be called explicitly.

Prev | Up | Next
SQLite version 3 | Home | Glossary