更新时间:2022-12-12 11:17:12 来源:极悦 浏览804次
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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习