更新時間:2022-12-12 11:17:12 來源:動力節點 瀏覽1323次
Oracle JDBC 驅動程序的安裝是特定于平臺的。按照特定于平臺的文檔中要安裝的驅動程序的安裝說明進行操作。
本節介紹驗證 JDBC 驅動程序的 Oracle 客戶端安裝的步驟。它假定您已經安裝了您選擇的驅動程序。
如果您已經安裝了 JDBC Thin 驅動程序,則無需在客戶端計算機上進一步安裝(JDBC Thin 驅動程序需要在數據庫計算機上運行 TCP/IP 偵聽器)。
如果您已經安裝了JDBC OCI 驅動程序,您還必須安裝Oracle 客戶端軟件。這包括 Net8 和 OCI 庫。
本節假定您已經在系統上安裝了 Sun Microsystems Java 開發人員工具包 (JDK) (盡管也支持其他形式的 Java)。Oracle 提供與 JDK 1.2.x 版本或 JDK 1.1.x 版本兼容的 JDBC 驅動程序。
安裝 Oracle JServer 產品會創建一個[ORACLE_HOME]/jdbc包含以下子目錄和文件的目錄:
demo/samples:該samples子目錄包含示例程序,包括如何使用 SQL92 和 Oracle SQL 語法、PL/SQL 塊、流、用戶定義類型、其他 Oracle 類型擴展和 Oracle 性能擴展的示例。
doc:該doc目錄包含有關 JDBC 驅動程序的文檔。
lib:該lib目錄包含.zip具有這些必需的 Java 類的文件:
classes12.zip包含用于 JDK 1.2.x 的類——除了 NLS 支持所需的類之外的所有 JDBC 驅動程序類。
nls_charset12.zip包含 JDK 1.2.x 支持 NLS 所必需的類。
jta.zip并jndi.zip包含用于 JDK 1.2.x 的 Java 事務 API 和 Java 命名和目錄接口的類。僅當您將使用 JTA 功能進行分布式事務管理或使用 JNDI 功能進行命名服務時,才需要這些。(這些文件也可以從 Sun Microsystems 網站獲得,但建議使用 Oracle 的版本,因為這些文件已經過 Oracle 驅動程序的測試。)
classes111.zip包含與 JDK 1.1.x 一起使用的類——除了 NLS 支持所需的類之外的所有 JDBC 驅動程序類。
classes111.zip還包含 Oracle 擴展,允許您在 JDK 1.1.x 下對對象、數組和 LOB 使用 JDBC 2.0 功能。
nls_charset11.zip包含 JDK 1.1.x 支持 NLS 所必需的類。
nls_charset12.zip和 文件nls_charset11.zip提供對特定 NLS 字符集的支持。它們已從文件中分離出來,classes*.zip以便在不需要完整的 NLS 支持的情況下為您提供排除字符集的選項。有關nls_charset12.zip和 的更多信息nls_charset11.zip,請參閱“NLS 支持和對象類型”.
readme.txt:該readme.txt文件包含有關驅動程序的最新信息和特定于版本的信息,這些信息可能不在本手冊中。
檢查是否已創建并填充所有這些目錄。
本節介紹必須為 JDBC OCI 驅動程序和 JDBC Thin 驅動程序設置的環境變量,主要針對 Sun Microsystems Solaris 和 Microsoft Windows NT 平臺。
您必須為已安裝的 JDBC OCI 或瘦驅動程序設置CLASSPATH。根據您使用的是 JDK 1.2.x 版本還是 1.1.x 版本,您必須為以下值設置以下值之一CLASSPATH:
[Oracle Home]/jdbc/lib/classes12.zip
(以及可選的[Oracle Home]/jdbc/lib/nls_charset12.zip)完整 NLS 字符支持)
或者:
[Oracle Home]/jdbc/lib/classes111.zip
(以及可選的[Oracle Home]/jdbc/lib/nls_charset11.zip)完整 NLS 字符支持)
確保你classes*.zip的. nls_charset*.zipCLASSPATH
JDBC OCI 驅動程序:
如果是安裝JDBC OCI驅動,還必須為庫路徑環境變量設置如下值
在 Solaris 上,設置LD_LIBRARY_PATH如下:
[Oracle Home]/lib
該目錄包含libocijdbc8.so共享對象庫。
在 Windows NT 上,設置PATH如下:
[Oracle Home]\lib
該目錄包含ocijdbc8.dll動態鏈接庫。
JDBC 驅動程序:
如果要安裝 JDBC Thin 驅動程序,則不必設置任何其他環境變量。
為進一步確保在您的客戶端系統上正確設置了 Java,請轉到該samples目錄(例如,C:\oracle\ora81\jdbc\demo\samples如果您在 Windows NT 機器上使用 JDBC 驅動程序),然后查看是否javac(Java 編譯器)和java(Java 解釋器)將運行而不會出錯。進入:
javac
然后輸入:
java
每個都應該給你一個選項和參數列表,然后退出。理想情況下,驗證您可以編譯和運行一個簡單的測試程序。
如果在任何時候您必須確定您安裝的 JDBC 驅動程序的版本,您可以調用該類getDriverVersion()的方法OracleDatabaseMetaData。
下面是展示如何操作的示例代碼:
導入java.sql.*;
導入 oracle.jdbc.driver.*;
類 JDBC 版本
{
public static void main (String args[])
拋出 SQLException
{
// 加載 Oracle JDBC 驅動程序
DriverManager.registerDriver
(新的 oracle.jdbc.driver.OracleDriver());
連接conn = DriverManager.getConnection
("jdbc:oracle:thin:@host:port:sid","scott","tiger");
// 創建 Oracle 數據庫元數據對象
DatabaseMetaData meta = conn.getMetaData();
//獲取驅動信息:
System.out.println("JDBC驅動版本為" + meta.getDriverVersion());
}
}
該samples目錄包含特定 Oracle JDBC 驅動程序的示例程序。其中一個程序,JdbcCheckup.java旨在測試 JDBC 和數據庫連接。該程序向您詢問您的用戶名、密碼和您要連接的數據庫的名稱。該程序連接到數據庫,查詢字符串“ Hello World”,并將其打印到屏幕上。
進入samples目錄編譯運行JdbcCheckup.java。如果打印的查詢結果沒有錯誤,那么您的 Java 和 JDBC 安裝是正確的。
雖然JdbcCheckup.java是一個簡單的程序,但它通過執行以下代碼演示了幾個重要的功能:
導入必要的 Java 類,包括 JDBC 類
注冊 JDBC 驅動程序
連接到數據庫
執行一個簡單的查詢
將查詢結果輸出到您的屏幕
“JDBC 的第一步”, 更詳細地描述了這些功能。JDBC OCI 驅動程序的列表JdbcCheckup.java如下所示。
/*
* 此示例可用于檢查 JDBC 安裝。
* 只需運行它并提供連接信息。它會選擇
* 來自數據庫的“Hello World”。
*/
// 需要導入java.sql包才能使用JDBC
導入java.sql.*;
// 我們導入 java.io 以便能夠從命令行讀取
導入java.io.*;
類 JdbcCheckup
{
public static void main(String args[])
拋出 SQLException、IOException
{
// 加載 Oracle JDBC 驅動程序
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// 提示用戶輸入連接信息
System.out.println("請輸入測試連接信息
數據庫");
字符串用戶;
字符串密碼;
字符串數據庫;
user = readEntry("用戶:");
int slash_index = user.indexOf('/');
如果(斜線索引!= -1)
{
password = user.substring(slash_index + 1);
user = user.substring(0, slash_index);
}
別的
password = readEntry("密碼:");
database = readEntry("數據庫(一個 TNSNAME 條目):");
System.out.print("正在連接數據庫...");
系統.out.flush();
System.out.println("正在連接...");
連接conn = DriverManager.getConnection
("jdbc:oracle:oci8:@" + 數據庫、用戶、密碼);
System.out.println("已連接。");
// 創建語句
語句 stmt = conn.createStatement();
// 執行 SQL“Hello World”
ResultSet rset = stmt.executeQuery("選擇'Hello World'
來自雙重");
while (rset.next())
System.out.println(rset.getString(1));
// 關閉結果集、語句和連接
rset.close();
stmt.close();
conn.close();
System.out.println("你的 JDBC 安裝正確。");
}
// 從標準輸入讀取一行的實用函數
static String readEntry(字符串提示)
{
嘗試
{
StringBuffer buffer = new StringBuffer();
System.out.print(提示);
系統.out.flush();
int c = System.in.read();
while (c != '\n' && c != -1)
{
buffer.append((char)c);
c = System.in.read();
}
返回 buffer.toString().trim();
}
趕上(IOException e)
{
返回 ””;
}
}
}
如果大家想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面有更豐富的內容在等著大家學習,相信對大家會有所幫助的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習