Release Notes for Oracle SQLJ Release 8.1.7.0.0 Production

(build version 2.0.0.0) June 30 2000

CONTENTS OF THIS README

  1. WHAT IS SQLJ?
  2. WHAT IS IN THIS DISTRIBUTION?
  3. INSTALLATION
  4. WHAT'S NEW?
  5. PLATFORM-SPECIFIC INFORMATION
  6. BUGS FIXED
  7. KNOWN RESTRICTIONS AND PROBLEMS
  8. USING SQLJ IN Server-Side JavaVM: KNOWN RESTRICTIONS AND PROBLEMS
1. WHAT IS SQLJ?

Oracle, IBM, Compaq, Sybase, Informix, Sun Microsystems, and others have contributed to the SQLJ Standard for embedding static SQL statements and constructs in Java programs (ANSI X3.135.10-1998). An updated version of this standard is currently being finalized by ISO.

SQLJ is a way to reduce the development and maintenance costs of Java programs that require Database connectivity. SQLJ provides a simpler model for Java code containing static SQL Statements (SQL that does not change each time you run your application or applet. Applications typically contain more static SQL than dynamic SQL). The reduction in the cost of development and maintenance occurs because SQLJ uses an easier methodology of embedding SQL directly into Java programs, resulting in more concise and more legible code. SQLJ can further make coding easier by providing compile-time checks on the SQL statements your application uses. In using dynamic SQL APIs such as JDBC, you won’t find out if your SQL is syntactically or semantically wrong until you test the line in your code that runs it.

This implementation, the 8.1.7.0.0 Production release of Oracle's SQLJ Implementation, is in the form of a translator that takes SQLJ programs and turns them into Java programs that call —via the SQLJ runtime— JDBC. The translator itself is written purely in Java.

This release supports the ANSI standard for embedding SQL in Java. Furthermore, the JDK 1.2 runtime of this release supports the forthcoming ISO standard for embedding SQL in Java.

This release supports the features of the Oracle 8.1.7.0.0 JDBC drivers. Additionally, you can use this release with any Oracle JDBC driver running against an Oracle database, as well as any standard JDBC Driver running against any database system.

For more information, visit the Oracle Technology network site at:

http://technet.oracle.com/tech/java/sqlj_jdbc/ You can also find information on SQLJ at: http://www.oracle.com/java/sqlj/ Oracle Support services this product. For more information see: http://www.oracle.com/support/ Note on Version Numbers: version 8.1.7 is synonymous with Oracle8i Release 3, version 8.1.6 is synonymous with Oracle8i Release 2, and version 8.1.5 corresponds to Oracle8i.

2. WHAT IS IN THIS DISTRIBUTION?

We assume that you have installed the SQLJ distribution files through the Oracle 8.1.7 Installer into the directory $ORACLE_HOME/sqlj. $ORACLE_HOME is the root installation directory for Oracle products.

This distribution contains:

Direct your Web browser to $ORACLE_HOME/sqlj/index.html for an index of the SQLJ documentation provided with this SQLJ installation.

The book "SQLJ Developer's Guide and Reference" is distributed independently as part of the Oracle 8.1.7 documentation. It documents the details of this version of SQLJ - how to test the installation and use the product. The books in the Oracle 8.1.7 documentation are also available online at:

http://technet.oracle.com/docs/products/oracle8i/doc_index.htm For information about the JPublisher tool for generating Java classes for SQL object and collection types, please refer to the book "JPublisher Developer's Guide and Reference". Please refer to the book "JDBC Developer's Guide and Reference" for information about Oracle's JDBC drivers.

3. INSTALLATION

You must have a JDK 1.1.* or JDK 1.2 compatible Java environment. Furthermore, you should have installed the Oracle 8.1.7 JDBC driver.

Ensure that the directory $ORACLE_HOME/bin with the sqlj shell script or executable is in your PATH.

--- ATTENTION --- ATTENTION --- ATTENTION --- ATTENTION --- ATTENTION --- --- ATTENTION --- ATTENTION --- ATTENTION --- ATTENTION --- ATTENTION ---

The "Getting Started" section of the "SQLJ Developer’s Guide and Reference" discusses required settings for PATH and CLASSPATH in more detail.

You should first verify your JDBC installation before using SQLJ. Refer to the section "Getting Started" in the book "SQLJ Developer's Guide and Reference" for information on testing your SQLJ and JDBC installations.

This distribution of SQLJ has been run under the following configurations:

4. WHAT'S NEW?

CHANGES SINCE VERSION 8.1.6.0.0 OF SEP 15 1999

LANGUAGE

TRANSLATOR

The translator's statusMain method can be called multiple times. This permits the embedding of SQLJ in Oracle's JSP translator [Bug 1321820]

RUNTIME

SEE ALSO: Bug fixes - section 6. below.

CHANGES SINCE VERSION 8.1.5.0.0 (AND SOME SINCE 8.1.4)

LANGUAGE

This version supports the ANSI standard ANSI X3.135.10-1998.

TRANSLATOR

CHECKING

The default offline and online checker class is now oracle.sqlj.checker.OracleChecker. Depending on the JDBC driver detected in your configuration, an appropriate checker will be selected. You need only explicitly specify a particular checker when you are using an 8.0.x or 8.1.x JDBC driver and want to"downgrade" the types supported by your program to Oracle7 functionality.

PERFORMANCE

SQLJ now supports all the performance enhancements previously available through Oracle's JDBC drivers. See "SQLJ User's Guide and Reference - Appendix A." for a complete description.

RUNTIME

Changes in runtime support: [$ORACLE_HOME/sqlj/doc/runtime/RELEASENOTES.txt]

5. PLATFORM-SPECIFIC INFORMATION

We offer several general troubleshooting tips that should help in working around platform specific problems that might occur.

GENERAL TROUBLESHOOTING

UNIX PLATFORMS WINDOWS PLATFORMS

Note that the wrapper executable $ORACLE_HOME/bin/sqlj.exe has only been tested on Windows NT.

6. BUGS FIXED

IN SQLJ VERSION 8.1.7

TRANSLATOR

RUNTIME IN SQLJ VERSION 8.1.6

LANGUAGE

TRANSLATOR ONLINE CHECKING RUNTIME

A SQLException will now be issued when a SQLJ connection context is initialized with a null JDBC connection.

7. KNOWN RESTRICTIONS AND PROBLEMS

A list of know issues and bugs in SQLJ version 8.1.7.0.0

LANGUAGE

TRANSLATOR RUNTIME 8. USING SQLJ IN Server-side JavaVM: KNOWN RESTRICTIONS AND PROBLEMS

For your convenience we list some additional limitations and differences of the SQLJ translator that is part of the Oracle 8.1.7 server-side JavaVM.

You may find this useful when you want to compile the same code on both, client and server. You can also circumvent the limitations below (with the exception of [Bug 1094935]) by compiling your sources outside of JServer and then uploading the compiled files with loadjava.

IMPORTANT: Since the server-side JavaVM implements JDK 1.2, it is recommended that you use JDK 1.2, the Oracle 8.1.7 JDBC driver library classes12.zip, and the SQLJ runtime library runtime12.zip to compile and test your programs on the client. This ensures the highest degree of correspondence between your client and server-side environments.

LANGUAGE

TRANSLATOR