Oracle8i SQLJ Developer's Guide and Reference Release 2 (8.1.6) A81360-01 |
|
The Oracle SQLJ translator accepts a broader range of SQL syntax than the ANSI SQLJ Standard specifies.
The standard addresses only the SQL92 dialect of SQL, but allows extension beyond that. Oracle SQLJ supports Oracle's SQL dialect, which is a superset of SQL92. If you must create SQLJ programs that work with other DBMS vendors, you should avoid using SQL syntax and SQL types that are not in the standard, and therefore, might not be supported in other environments. (On your product CD, the directory [Oracle Home]/sqlj/demo/components
includes a semantics-checker that you can use to verify that your SQLJ statements contain only standard SQL.)
Oracle SQLJ supports the following Java types as extensions to the SQLJ standard. Do not use these or other types if you may want to use your code in other environments. To ensure that your application is portable, use the Oracle SQLJ -warn=portable
flag. (See "Translator Warnings (-warn)".)
Using any of the following extensions requires Oracle customization during translation, as well as the Oracle SQLJ runtime and an Oracle JDBC driver when your application runs:
oracle.sql.*
classes as wrappers for SQL data (see "Oracle Type Extensions")
oracle.sql.CustomDatum
interface or the JDBC standard java.sql.SQLdata
interface), typically produced by the Oracle JPublisher utility, to correspond to SQL objects, object references, and collections (see "Custom Java Classes")
AsciiStream
, BinaryStream
, UnicodeStream
) used as output parameters (see "Support for Streams")
For general information about Oracle SQLJ extensions, see Chapter 5, "Type Support", and Chapter 6, "Objects and Collections".