java與oracle的介面:
在資料庫中運行JAVA可以說是ORACLE8i的最令人激動的新特性。在你建立的使用ORACLE8i 資料庫的應用程式中,你可以使用與JAVA有關的新特徵,輕鬆的將程式發布到INTERNET或INTRANET上。
Methods for Using Java in ORACLE
大家都知道JAVA在跨平台開發與INTERNET開發中已經比較流行,ORACLE8i及以後的版本中都包含了對在資料庫中運行JAVA的擴充支援,這裡有兩種方法可以使用:
JDBC:與ODBC類似, JDBC 提供了一個驅動介面使你可以在JAVA程式中訪問資料庫。註:JDBC驅動內嵌在資料庫中虛擬機器中。
SQLJ:是一個JAVA先行編譯器,它可以將內嵌的SQL語句轉化為JAVA語句.SQLJ的使用與運行機理與其它ORACLE的與編譯器(如Pro*C,Pro*COBOL)類似。實際上,為了使我們形象的記住SQLJ提供的功能,我們也可以直接將SQLJ改名為Pro*Java。
將JAVA整合到資料庫中是雙向的。也就是說你可以在JAVA中調用SQL與PL/SQL,也可以在SQL與PL/SQL中調用JAVA。JAVA程式可以直接通過JDBC驅動調用SQL與PL/SQL,反過來,你也可以在SQL與PL/SQL中直接調用JAVA。在資料庫中,JAVA命名空間直接映射到資料庫模式的命名空間中,這樣可以方便JAVA的存取與調用。資料庫同時提供擴充的DDL語句,通過這些語句,你可以象建立一個預存程序一樣在資料中建立內嵌的JAVA程式。
Features of ORACLE JDBC Drivers
在ORACLE8i中有三種類型的JDBC驅動,他們都使用相同的 syntax, APIs, and Oracle extensions,以使JAVA代碼在robust clients、Web-based Java applets, and Java stored procedures之間保持輕便靈活:三種類型如下:
1.JDBC OCI: 此驅動類似於傳統的ODBC 驅動。因為它需要Oracle Call Interface and Net8,所以它需要在運行使用此驅動的JAVA程式的機器上安裝用戶端軟體
2.JDBC Thin: 這種驅動一般用在運行在WEB瀏覽器中的JAVA程式。它不是通過OCI or Net8,而是通過Java sockets進行通訊 ,因此不需要在使用JDBC Thin的用戶端機器上安裝用戶端軟體。
3.JDBC KPRB: 這種驅動由直接儲存在資料庫中的JAVA程式使用,如Java Stored Procedures 、triggers、Database JSP's。It uses the default/ current database session and thus requires no additional database username, password or URL.
如何配置使JAVA可以通過Oracle JDBC Drivers串連到資料庫:1.安裝Sun JDK.
2. 修改PATH環境變數,使其指向JDK的bin目錄
3. 設定CLASSPATH環境變數,使其指向正確的JDK的lib及oracle的JDBC介面。
CLASSPATH = ".;????"
3. 運行"java –version" ,驗證java的版本。
如何在不同的作業系統上根據介面類型設定用戶端:
對JDBC THIN介面:
在windows與unix下的設定方法一樣:
1.根據jdk的版本,只需要將classesxx.zip拷貝到指定的目錄,不需要安裝Oracle Client。在裝完資料庫後,該檔案會在$ORACLE_HOME/jdbc/lib目錄下。2.設定CLASSPATH,使其包含上面的classesxx.zip
3.根據需要,拷貝oracle的其它zip檔案並設定CLASSPATH
對JDBC OCI介面:
Fow Windows:
1.安裝Oracle Client.
2.根據jdk的版本,設定CLASSPATH,使其包含正確的classesxx.zip
3.根據需要設定CLASSPATH,使其指向Oracle的其它zip檔案
4.設定PATH,使其包含$ORACLE_HOME\bin目錄
For unix:
1.安裝Oracle Client.
2.根據jdk的版本,設定CLASSPATH,使其包含正確的classesxx.zip
3.根據需要設定CLASSPATH,使其指向Oracle的其它zip檔案
4.設定LD_LIBRARY_PATH,使其包含$ORACLE_HOME/lib目錄
備忘:
classesxx.zip一般在ORACLE_HOME\jdbc\lib目錄下。
在ORACLE_HOME\jdbc\lib目錄下的與Oracle JDBC Drives驅動有關的檔案的解釋:
- classes12.zip
Classes for use with JDK 1.2.x. It contains the JDBC driver
classes except classes necessary for NLS support in Object and
Collection types.
- nls_charset12.zip
NLS classes for use with JDK 1.2.x. It contains classes necessary
for NLS support in Object and Collection types.
- classes12_g.zip
Same as classes12.zip, except that classes were compiled with
"javac -g".
JDBC串連資料庫的文法:
JDBC THIN:
Code: [Copy to clipboard]
Connection conn=
DriverManager.getConnection
("jdbc:oracle:thin:@dlsun511:1521:ora1","scott","tiger");
| | |
machine(ip@) : port# : sid
JDBC OCI:
Code: [Copy to clipboard]
Connection conn=
DriverManager.getConnection