




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、开始使用 Oracle JDBC 驱动程序 (Doc ID 1602866.1)文档内容用途问题和I介绍 Oracle JDBC 驱动程序什么是 Oracle JDBC 驱动程序?Oracle 提供哪些类型的 JDBC 驱动程序? Oracle JDBC 版本有哪些?主要的 Oracle JDBC 驱动程序 Java 类库有哪些? 什么是 JDBC OCI 本地共享库?哪个 JDBC 驱动程序版本匹配哪个 JDK 版本?哪个经过认证的 JDBC 驱动程序版本连接哪个数据库版本? 如何获取 Java JDBC库?如何安装 JDBC 驱动程序?如何找到存档的 JDBC 驱动程序资源、Javadoc
2、 及示例? 一开始可以使用哪个 Oracle JDBC 驱动程序?运行 JDBC 应用程序如何设置环境以运行 JDBC 应用程序? 可导入哪个 Oracle JDBC 包?如何使用 Oracle JDBC 驱动程序 API 获取 JDBC 连接? 什么是 Oracle JDBC 连接 URL?JDBC 连接可否同时被两个 Java 线程共享?参考适用于:JDBC - 版本 11.1.0.6 和更高版本本文档所含信息适用于所有用途开始使用 Oracle JDBC 驱动程序时,可通过此“常见问题解答”获取实用信息。通过所提供的 Oracle JDBC 驱动程序的描述,您可以选择用于 Java 应用
3、程序的 Oracle JDBC 驱动程序。为了运行 JDBC 应用程序,提供了以下方面的般信息:安装、设置 Oracle JDBC 驱动程序及建立与 Oracle 数据库的连接。问题和I介绍 Oracle JDBC 驱动程序什么是 Oracle JDBC 驱动程序?JDBC 是种允许 Java 程序任何表格式数据源的 API。为了与使用 JDBC 接口的 Java 程序的 Oracle 数据库进行交互,Oracle 提供自己的 Oracle JDBC 驱动程序。Oracle 提供哪些类型的 JDBC 驱动程序?Oracle 提供 4 种驱动程序类型:JDBC Thin 客户端驱动程序(Thin
4、 驱动程序):Oracle JDBC Thin 驱动程序是种 JDBC 类型 4 驱动程序(完全以 Java 写成)。JDBC Thin 驱动程序使用Java Socket 直接连接 Oracle Server。JDBC Thin 驱动程序提供自身实现 Oracle SQL*Net/Net8 的 TCP/IP版本的方法。由于完全以 Java 写成,该驱动程序与无关。Thin 驱动程序供客户端使用,且不需要在客户端上安装 Oracle 软件。JDBC OCI 客户端驱动程序(OCI 驱动程序):Oracle JDBC OCI 驱动程序使用 OCI(Oracle 调用接口)与 Oracle 数据库
5、交互,提供了通过 JDBC 类型 2驱动程序(本地 API,部分以 Java 写成)来实现 JDBC 接口的方法。由于 JDBC OCI 驱动程序使用本地方法调用 OCI 库中的 C 语言函数,因此它与特定(或即时客户端)安装。相关。还需要个包括 Net8 在内的 Oracle 客户端由于 JDBC OCI 驱动程序通过 OCI 实现与 Oracle 数据库的接口,因此它与所有 Oracle 数据库版本兼容,支持所有安装的 Net8 适配器,包括 IPC、命名管道、TCP/IP 和 SPX/IPX 等。JDBC 服务器端内部驱动程序(KPRB 驱动程序):该 JDBC 类型 2 驱动程序可由运
6、行在 Oracle 数据库服务器 JVM 中的 Java 代码使用,例如 Java程序。JDBC 服务器驱动程序允许 Java 程序与 Oracle 中的内部 SQL 引擎通信并底层数据库对象。JDBC Thin 服务器端驱动程序:该 JDBC 类型 4 驱动程序允许运行在 Oracle 数据库服务器 JVM 中的 Java 程序数据库。Oracle JDBC 版本有哪些?Oracle JDBC 驱动程序随 Oracle 数据库服务器起提供。从 9.2.0.1 这个数据库版本开始,Oracle JDBC 驱动程序版本包括:JDBC 9.2.0.X JDBC 10.1.0.X JDBC 10.2
7、.0.X JDBC 11.1.0.X JDBC 11.2.0.X JDBC 12.1.0.X主要的 Oracle JDBC 驱动程序 Java 类库有哪些?要包括在应用程序的 CLASSPATH 中的基本 Java 库为 ojdbc6.jar、ojdbc5.jar、ojdbc14.jar 或 classes12.jar。ojdbc7.jar将 JDBC Thin 和 OCI 客户端驱动程序用于 Java 7.0 VM 时所对应的 Java 类。ojdbc6.jar将 JDBC Thin 和 OCI 客户端驱动程序用于 Java 6.0 VM 时所对应的 Java 类。ojdbc5.jar将 J
8、DBC Thin 和 OCI 客户端驱动程序用于 Java 5.0 VM 时所对应的 Java 类。ojdbc14.jar将 JDBC Thin 和 OCI 客户端驱动程序用于 Java 1.4 或 5.0 VM 时所对应的 Java 类。使用 Java5.0 VM 时,如果 JDBC 版本为 10.2,则可使用该库。 classes12.jar除了使用 Java 1.2 或 1.3 VM 之外,其余与 ojdbc14.jar 相同。classes12.zip除了采用 zip 格式之外,其余与 classes12.jar 相同。该文件在未来版本中几乎肯定不可用。您应该转而使用 classes1
9、2.jar。如果应用程序正使用高级数据类型(对象),则应用程序 CLASSPATH 中必须添加 nls charset12.jar 或orai18n.jar 库。nls charset12.jar当使用 Java 1.2、1.3 或 1.4 VM 时,高级数据类型(对象)中支持所有 Oracle 字符集的类。但不适用用于 Oracle 10.1.0 和更高版本。您应该转而使用 orai18n.jar。nls charset12.zip除了采用 zip 格式之外,其余与 nls charset12.jar 相同。orai18n.jar与 nls charset12.jar 相同,但用于 Orac
10、le 10.1.0 和更高版本。orai18n.jar 库JDBC 驱动程序的部分提供,而是位于 ORACLE HOME/jlib。该库位于 JDBC页。如果您的应用使用 SQL/XML 数据库数据类型,则需要在CLASSPATH中加入 java.sql.SQLXML, xdb6.jar 类库。xdb6.jar支持标准JDBC 4.x java.sql.SQLXML 接口(Java SE 6 & Java SE 7)的类。什么是 JDBC OCI 本地共享库?本地 JDBC OCI 库:在 Unix 上为 libocijdbc.so在 Windows 上为 ocijdbc.dll (Windo
11、ws)其中对于 JDBC 9.x.x 驱动程序,N 等于 9 对于 JDBC 10.x.x 驱动程序,N 等于 10对于 JDBC 11.x.x 驱动程序,N 等于 11对于 JDBC 12.x.x 驱动程序,N 等于 12该共享库将调用 OCI 接口来数据库。因此,当使用 JDBC OCI 驱动程序时,必须通过 Windows 环境变量PATH 或 Solaris 的 LD LIBRARY PATH 查找 JDBC 共享库。OCI 共享库还应与用于托管 Java 程序的 JVM 类型相匹配。因此,32 位(或 64 位)JVM 需要 32 位(或 64位)OCI 共享库。哪个 JDBC 驱动
12、程序版本匹配哪个 JDK 版本?在 JDBC FAQ on Oracle Technology Network (OTN) 中,OCI 或 Thin JDBC 驱动程序版本支持以下 java程序的 JDK 版本:JDBC 版本JDK 版本JDBC 文件名12.1.01.7.x1.6.xojdbc7.jar ojdbc6.jar*在版本 9.2.0.7.0 中,这些 ZIP 文件被 JAR 文件替换。* 仅 Oracle JDBC 驱动程序 11.2.0.3 (及更高)版本支持 JDK 1.7。示例:- 如果 JDK 版本为 6.0.x,则对于 11.2 JDBC 版本,使用的 JDBC 库为
13、ojdbc6.jar 文件。- 如果 JDK 版本为 5.0.x,则对于 10.2 JDBC 版本,使用的 JDBC 库为 ojdbc14.jar 文件。注释11g JDBC 驱动程序仅针对 JDK 1.5 或 JDK 1.6 进行过认证。还请注意关于取消对 classes12.jar 提供支持的以下文章 Product Obsolescence Desupport Notice, concerning the desupport of the classes12.jar:Note 335754.1 : JDBC 10.2 - classes12.jar , oracle.jdbc.drive
14、r, and OracleConnectionCacheImpl由于 Server Thin Driver 和 Serverernal Driver 均在 Oracle Server 内运行,这些驱动程序支持的 Oracle JVM 版本如下:Oracle 9i R1 支持 J2SE 1.2 Oracle 9i R2 支持 J2SE 1.3 Oracle 10g 支持 J2SE 1.4 Oracle 11g 支持 J2SE 1.5哪个经过认证的 JDBC 驱动程序版本连接哪个数据库版本?有关正确信息,请在 JDBC Developers Guide and Reference 中查找所使用的
15、JDBC 版本。JDBC Developers Guide and Reference 11g Release 1 (11.1) 中的描述如下:向后兼容性JDBC 驱动程序已经过认证,兼容目前支持的 Oracle 数据库版本。例如,Oracle Database 11g Release 1 (11.1) 中的 JDBC Thin 驱动程序已经过认证,兼容 10.2.x、10.1.x、9.2.x 和 9.0.1.x Oracle 数据库版本。11.2.01.7.x * 1.6.x 1.5.xojdbc6.jar ojdbc6.jar ojdbc5.jar11.1.01.6.x1.5.xojdbc
16、6.jar ojdbc5.jar10.2.01.2.x1.3.x1.4.x1.5.xclasses12.jar classes12.jar ojdbc14.jar ojdbc14.jar10.1.01.2.x1.3.x1.4.xclasses12.jar classes12.jar ojdbc14.jar9.2.01.1.x1.2.x1.3.x1.4.xclasses111.zip* classes12.zip* classes12.zip* ojdbc14.jar然而,这些驱动程序没有经过是否兼容早期的、不受支持的数据库版本(例如 8.0.x 和 7.x)的认证。向前兼容性现有的受支持的 J
17、DBC 驱动程序已经过认证,兼容 Oracle Database 11g Release 1 (11.1)。尽管主功能会生效,但也可能发生旧版驱动程序无法使用数据库版本新功能的情形。因此,建议至少使用与数据库版本相同的JDBC 驱动程序版本此外,还可通过参考以下注释查看 Oracle 客户端(Oracle JDBC 驱动程序)版本与 Oracle Server 版本之间的互操作性支持情况:Note 207303.1 : C nt / Server /eroperability Support Betn Different Oracle Vers下表给出了哪个 JDBC 驱动程序可哪个 Orac
18、le 数据库:* 取消支持的数据库版本。JDBC 驱动程序Oracle 数据库12.1.012.1.011.2.011.1.011.2.012.1.011.2.011.1.010.2.010.1.09.2.011.1.012.1.011.2.011.1.010.2.010.1.09.2.010.2.012.1.011.2.011.1.010.2.010.1.09.2.010.111.2.011.1.010.2.010.1.09.2.09.2.011.2.011.1.010.2.010.1.09.2.0如何获取 Java JDBC库?通过以下三种方法可获取 Java JDBC 库:安装 Orac
19、le 客户端或服务器之后。这些文件位于 /jdbc/lib 目录。安装 Oracle 即时客户端之后。3. 从 JDBC页 获取可用的jar文件。注意:Java JDBC 库与无关。因此,可从任何 /jdbc/lib 目录或 JDBC 下载页面获取这些库,并在任何具有 JDBC Thin 和 OCI 驱动程序类型的上使用。此外,Oracle JDBC 驱动程序可以嵌入 Oracle 产品(例如 FuMiddleWare 产品)中。在这种情况下,对于Oracle JDBC 驱动程序认证或升级问题,可参考与这些 Oracle 产品相关的文档。如何安装 JDBC 驱动程序?JDBC Thin dri
20、verJava JDBC 库并将 classpath 设置为合适的库。JDBC OCI driver安装与 JDBC 驱动程序相关的 Oracle 客户端或服务器。从 10.1.0 开始,还可安装 Oracle 即时客户端(Oracle 客户端的子集)作为 Oracle 客户端的替代方案。JDBC Java 库并将 CLASSPATH 设置为合适的库。请注意,Oracle 客户端必须与所用 JDBC 驱动程序具有完全相同的版本。KPRB driver在数据库的 Java 选项中,JDBC 驱动程序已经可用。Thin server-side driver在数据库的 Java 选项中,JDBC 驱
21、动程序已经可用。如何找到存档的 JDBC 驱动程序资源、Javadoc 及示例?以下与 JDBC 驱动程序版本相关的资源可用:JDBC 开发者指南与参考可Oracles onlineation.例如,Oracle 数据库 JDBC Developers Guide and Reference 11g Release 2 (11.2) 或Oracle 数据库 JDBC Developers Guide and Reference 12c Release 1 (12.1)Readme.txt安装 JDBC 之后,jdbc 目录内的 Readme.txt 文件包含如下信息:新功能主要的 Bug 修正
22、驱动程序版本设置环境些有用的提示JDBC JavadocJDBC api 可能在 jdbcdoc 中以 javadoc.zip 形式出现JDBC demos说明不同 JDBC 功能的示例,在 /jdbc/demo 目录中以 demo.tar 或demo.zip 的形式提供。JDBC javadoc 和样本的 Readme 文件还可在 JDBC页 上找到,信息还可在 Oracle JDBC 页 上找到。一开始可以使用哪个 Oracle JDBC 驱动程序?10g JDBC Thin 驱动程序支持几乎与 JDBC OCI 驱动程序相同的功能(个别例外包括仅 Oracle JDBC OCI 驱动程序
23、支持 TAF 功能)。它只需要 JDBC Java 库(尽管 JDBC OCI 驱动程序需要个完整的 Oracle 或即时客户端安装)。从 10g JDBC Thin 驱动程序版本开始,Oracle JDBC 驱动程序使用更快的协议 (OCI/TTC 8)Oracle数据库。使用 JDBC Thin 驱动程序的个限制是使用 TCP/IP 协议数据库服务器。因此,最好是从 10g 或 11g R2 JDBC Thin 驱动程序开始。运行 JDBC 应用程序如何设置环境以运行 JDBC 应用程序?为了运行客户端 JDBC 程序(OCI 或 Thin 类型),必须在 CLASSPATH 中添加 Or
24、acle JDBC Java 库。如果您使用的是 Oracle JDBC OCI 驱动程序,则需安装与 JDBC 驱动程序版本完全相同的 Oracle 客户端。根据运行 JDBC 程序的,向 PATH (windows)、LD LIBRARY PATH (unix) 或 LIBPATH (aix) 添加OracleJDBC OCI 共享库的目录。同时,在 64 位上,您可以选择是使用 32 位 JVM(即 java 可执行文件为 32 位)还是 64 位 JDK(即 java可执行文件为 64 位)。如果 Oracle JDBC OCI 驱动程序使用 64 位 JVM,JDBC OCI 共享库
25、必须为 64 位库。同理,如果 Oracle JDBC OCI 驱动程序使用 32 位 JVM,JDBC OCI 共享库必须为 32 位库。以下是使用 10.2 JDBC 驱动程序的设置示例:对于 Windows:如果使用 JDK 1.2 或 1.3,则将 ORACLE HOMEjdbclibclasses12.jar 添加至 CLASSPATH。如果使用 JDK 1.4,则将 ORACLE HOMEjdbclibojdbc14.jar 添加至 CLASSPATH。如果需要,将 ORACLE HOMEjliborai18n.jar 添加至 CLASSPATH。如果使用 JDBC OCI 驱动程
26、序,则将 ORACLE HOMEbin 添加至 PATH。对于 Solaris Unix:如果使用 JDK 1.2 或 1.3,则将 ORACLE HOME/jdbc/lib/classes12.jar 添加至 CLASSPATH。如果使用 JDK 1.4,则将 ORACLE HOME/jdbc/lib/ojdbc14.jar 添加至 CLASSPATH。如果需要,将 ORACLE HOME/jlib/orai18n.jar 添加至 CLASSPATH。如果使用 JDBC OCI 驱动程序,则将 ORACLE HOME/lib 添加至 LD LIBRARY PATH。对于安装了 64 位 Or
27、acle 的 Solaris 64 位:如果使用 32 位 JVM 运行 Oracle JDBC OCI 驱动程序,则将 $ORACLE HOME/lib32 添加至LD LIBRARY PATH。如果使用 64 位 JVM 运行 Oracle JDBC OCI 驱动程序,则将 $ORACLE HOME/lib 添加至LD LIBRARY PATH。可导入哪个 Oracle JDBC 包?可导入以下包:oracle.jdbc.*;oracle.jdbc.pool.*;oracle.sql.*;但是,不应导入 oracle.jdbc.driver.* 包。已从 9iR1 开始弃用该包,也将撤销对
28、其的支持。可参见以下 Product Obsolescence Desupport Notice:Note 335754.1 : JDBC 10.2 - classes12.jar , oracle.jdbc.driver, and OracleConnectionCacheImpl如何使用 Oracle JDBC 驱动程序 API 获取 JDBC 连接?首先,在Oracle JDBC 驱动程序后,可通过调用 java.sql.DriverManager 类的 getConnection() 方法打开个 JDBC 连接。使用 OracleDataSource 类的 getConnection
29、方法为您提供的灵活性:从 10g JDBC 驱动程序开始,可以通过这种方式使用“隐式连接”缓存机制。从 Oracle Database 11g Release 2 (11.2) 开始,已弃用“隐式连接”缓存功能。此外,Oracle 建议对 JDBC 使用Universal Connection Pool (UCP)。什么是 Oracle JDBC 连接 URL?连接 URL 定义用于连接的 Oracle 数据库服务器地址:jdbc:oracle:根据 Oracle 驱动程序的类型,URL 的形式如下:oci typejdbc:oracle:oci:其中,database 可以是:tnsnames.ora 中定义的条目名这可能需要设置 TNS ADMIN 环境变量。指定侦位置和服务名的描述符/:/其中 为 Oracle 数据库服务器主机名或 ip 地址 为 Oracle 侦端 为数据库的 Oracle.ds = new oracle.jdbc.pool.OracleDataSource(); ds.setURL(dbUrl);Connection conn = ds.getConnection(dbUser,dbPassword);.DriverManager.registerDriver(new oracle.jdbc.OracleDriver() );Connec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024成都职业技术学院辅导员招聘笔试真题
- 2025年新能源环卫装备合作协议书
- 奢侈品鉴定师笔试试题及答案
- 2025年稳相微波射频同轴电缆项目发展计划
- 第2课时 因数中间或末尾有0的笔算乘法 教案 人教版数学四年级上册
- 2025年辽宁省文化和旅游厅下属事业单位招聘考试笔试试题【答案】
- 2024年丽水市莲都区融媒体中心招聘真题
- 消费情绪对生鲜农产品消费者购买行为的影响
- 项目工程建设业务循环调查表范本
- 消防设施维护合同
- QB/T 2660-2024 化妆水(正式版)
- GB/T 4074.1-2024绕组线试验方法第1部分:一般规定
- 《中国旅游地理》模块一 项目一解读中国旅游地理(教案) -《中国旅游地理》(高教版第一版)
- MOOC 集成电路设计基础-华中科技大学 中国大学慕课答案
- 可持续发展的措施和目标
- 成人疫苗接种知识讲座
- 2024云南省福利彩票发行中心公开招聘编制外人员20人高频考题难、易错点模拟试题(共500题)附带答案详解
- 第五版急危重症护理学实践与学习指导试题题库及答案
- 无人机技术助力船舶与港口管理
- 护理质量指标测试附有答案
- 学校工作亮点汇报课件
评论
0/150
提交评论