Oracle JDBC Drivers release 8.0.4.2.0 (Production)
README
Versions
--------
- Oracle Servers:
- JDBC OCI: Oracle 8.0.4 and up
- JDBC Thin: Oracle 7.2.3 and up
- Oracle Clients:
- JDBC OCI: Oracle 8.0.4 and up
- JDBC Thin: no Oracle client software required
- JDK: 1.0.2 or 1.1.x.
- JDBC: 1.22
- For applets: Netscape 3.0 or 4.0
- Solaris: 2.5
- Win95/NT: Win95, NT 3.51 and NT 4.0.
Note: You need the Oracle 8.0.3.0.2 patch on Windows 95 or NT
if you are using JDBC Thin to connect to an Oracle 8.0.3 server.
Oracle clients can get it from Oracle World Wide
Support.
Changes from previous Beta release
-------------------------------------
- JDBC Thin now supports NLS databases.
- Numerous bug fixes.
Installation
------------
To avoid potential confusion with the previous version of the JDBC
driver we highly recommend that you uninstall the alpha and/or beta-1
release(s) before installing this beta-2 release.
Please do not try to have multiple versions of our drivers in
your CLASSPATH.
Win95/NT with the Oracle Installer
- Use the Oracle Installer
- Add [ORACLE_HOME]\jdbc\lib\classes111.zip to your CLASSPATH
(If using JDK-1.0.2 add classes102.zip instead)
Solaris
- Use the Oracle Installer
- Add [ORACLE_HOME]/jdbc/lib/classes111.zip to your CLASSPATH
(If using JDK-1.0.2 add classes102.zip instead)
- Add [ORACLE_HOME]/jdbc/lib to your LD_LIBRARY_PATH
Contents of this release
------------------------
The "lib" directory contains:
- classes111.zip: classes for use with the JDK 1.1.1. Contains
all the JDBC driver classes.
- classes102.zip: classes for use with the JDK 1.0.2. Contains
all the JDBC driver classes and the JDBC 1.22 classes are they
are not a standard part of the JDK 1.0.2 distribution.
- oci803jdbc.dll (liboci803jdbc.so on Solaris): the shared library
used by the JDBC OCI8 driver. On Win95/NT the library is moved
to the [ORACLE_HOME]\bin directory.
The "samples" directory contains sample
programs.
Usage (See special case for JDBC Thin 1.0.2 at the end)
-------------------------------------------------------
You must import the JDBC classes in your programs
that use JDBC.
import java.sql.*;
import java.math.*;
Your JDBC program must register the Oracle driver before being able to use it.
To do that, include the following line at the beginning of your
"main":
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver
());
You open a connection to the database with the getConnection call.
The connection URL depend on the JDBC driver you
want to use:
JDBC OCI8:
Connection conn =
DriverManager.getConnection ("jdbc:oracle:oci8:@<database>",
"scott",
"tiger");
<database> is either an entry in tnsnames.ora or a SQL*net
name-value pair.
JDBC Thin:
Connection conn =
DriverManager.getConnection ("jdbc:oracle:thin:@<database>",
"scott",
"tiger");
<database> is either a string of the form <host>:<port>:<sid>
or a SQL*net name-value pair.
Special case for the JDBC Thin 1.0.2
-------------------------------------
For the JDBC Thin 1.0.2 the imports, class name and URL are
different.
Imports:
import jdbc.sql.*;
import java.math.*;
Registering the driver:
DriverManager.registerDriver (new oracle.jdbc.dnlddriver.OracleDriver
());
JDBC Thin 1.0.2 URL:
Connection conn =
DriverManager.getConnection ("jdbc:oracle:dnldthin:@<database>",
"scott",
"tiger");
<database> is either a string of the form <host>:<port>:<sid>
or a SQL*net name-value pair.
Known Problems
--------------
JDBC OCI8 only:
A multi-threaded program may hang after a few
thousand updates. (574762)
The largest chunk that can be read from a BLOB is 255. The largest
chunk that can be read from a CLOB is 2000. The largest chunk that
can be written to a BLOB or CLOB is 32512. (571297)
With AutoCommit off, changes made to a LOB are not immediately visible.
(572206)
When OCI8 driver table name cannot contains more than 10 NLS characters.
Otherwise expect the following behavior:
During insertion of the table receive ORA-00972: identifier is too long
(557107)
When JDBC OCI8 driver is connected to a JA16EUC database, cannot retrieve
metadata of NLS column using JDBC DatabaseMetaData. NLS object includes
table columns and procedure columns (587393)
JDBC Thin only:
When multiple threads update the same program, after thousands of
iterations the exception "No more data to read from socket" may be
thrown. (574088)
When a function returns a CHAR, the CHAR is blank-padded to a length
of 256. (562962)
When JDBC thin driver is used, unable to retrieve meta data of NLS object
using JDBC DatabaseMetaData in JA16EUC database. NLS object includes
table names, table columns, procedure names and procedure columns
Workaround:
select from user_tables or the JDBC ResultSet.getColumnName
(587386)
When thin driver is connected to a JA16EUC database, functions with CHAR as
return type always returns the expected data plus extra space padding (to
make it total of 764 bytes) (587406)
JDBC Thin and OCI8:
When multiple threads share the same connection object, and repeatedly
issue the same SELECT statement, the SQLException "ORA-00900: invalid
SQL statement" may be raised. (574026)
Creating dates that fall on a Sunday causes invalid data to be inserted.
(453354)
For non-ascii and non-ISO database, NLS_LANG has to be set to UTF8 if OCI8
driver is used. Otherwise, expect the following behavior:
*if Client and Server are on different machines,
receive SQLException of "Fail to convert between UTF8 and UCS2"
*if Client and Server are on same machine,
receive "ORA-12705: invalid or unknown NLS parameter value specified"
This is a Japanese NT specific problem.
(556653)