据我所知,使用jdbc连接上oracle有两种方法:
1、 使用thin连接
由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,你无需安装Oracle客户端,只需要下载一个thin驱动的jar包,并且将环境变量中的CLASS_PATH变量中加入thin驱动的路径就可以了。Thin驱动虽然与平台无关,也无需安装Oracle客户端,但是有一个致命的缺陷就是性能一般,达不到如OCI方式的企业级的要求。另外,如果一个oracle数据库对应一台主机,可以使用thin连接;如果一个oracle数据库对应四五台主机(集群服务器),使用thin时,需要把tnsnames.ora文件中的相关数据库的整个连接字符串都拷贝下来,如此才能连接上oracle集群数据库。而这种方法也是和数位同事讨论并Google了大量资料后才发现的。之前我一直以为thin不支持集群数据库的方式。
然后就是设置连接字符串了。这个是固定的写法,如下所示:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@10.87.134.107:1521:ora9","sms" , "zzsms");
在上面的连接字符串中,如果不是集群数据库就在@后直接输入数据库IP地址即可;如果是集群数据库,则需要在@后输入tnsnames.ora文件中有关该数据库的所有描述内容(通常是=后边的所有的内容)。
2、 使用oci连接(Oracle Call Interface)
使用OCI连接数据库是企业级的做法,适应于单个数据库和集群数据库,性能优越,尤其是连接池功能大大提高了应用程序的性能和并发量。唯一的缺点是,若想使用OCI必须要安装Oracle客户端。
安装完Oracle客户端后,里面有个jdbc的文件夹,该文件夹下就包含了OCI驱动和THIN驱动。所以是不需要去网上下载的。这个驱动在jdbc/lib文件夹下,主要有classes12.jar、nls_charset12.jar等等。其中以12结尾的驱动包适应于jdk1.1以上的版本。以11结尾的适应于jdk1.1以下的版本。文件名中含有classes的jar包就是驱动程序,文件名中含有nls的jar包是与国际化有关的类。
找到文件后,就需要把class和nls的jar包的绝对路径加入CLASS_PATH环境变量,否则会报ClassNotFound的异常。
设置环境变量后,就可以直接使用OCI驱动了,不要被“驱动”两个字吓坏了,(驱动就是一个可执行文件和一个连接字符串)。很简单,无非是连接字符串的问题。标准的连接字符串如下所示:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:oci:@xxzc","duansiyuan", "oracle_password");
只要这两行,就可以保证连接到数据库,而这个数据库不管是单个数据库还是集群数据库。其中xxzc就是数据库名,duansiyuan就是用户名,oralce_password就是密码。这种方式和C#中的方式比较类似。
需要注意的问题:
1、oracle_home/jdbc文件夹下有大量的样板代码和帮助文档,里面对如何安装和使用jdbc都有详细的说明,请引起高度重视并耐心阅读。里面有很多知识仅通过自己反复的实践是无法获取的。
2、如果想要高性能,请使用OCI连接,如果不想装Oracle客户端,请使用thin连接。
分享到:
相关推荐
对于初学者来说,理解JDBC连接数据库的基本步骤至关重要。以下是详细解释这些步骤的知识点: 1. 加载JDBC驱动程序: 在连接数据库之前,首先需要在Java虚拟机(JVM)中加载对应的数据库驱动程序。这一步是通过使用...
Java 通过 JDBC 连接数据库的两种方式 Java 通过 JDBC 连接数据库有两种方式:混合验证模式和 Windows 身份验证模式。这两种方式都是使用 JDBC 连接 SQL Server 数据库的常见方法。 一、混合验证模式 混合验证...
JAVA使用JDBC连接数据库的源文件下载(两种方式),初学者可以下载,相互学习。可直接使用的源码工具。
"常用的jdbc连接数据库架包jar"指的是包含不同数据库驱动的Java类库,这些驱动使得Java程序能够通过JDBC API与Oracle、DB2、SQLServer和MySQL等主流数据库建立连接。下面我们将详细探讨这些数据库以及它们对应的JDBC...
博文链接:https://lkfnn.iteye.com/blog/33505
本文将详细介绍如何利用JDBC连接SQL Server 2005,并验证连接是否成功,同时探讨使用SA用户和Windows身份两种不同的认证方式进行连接的方法。 #### 一、JDBC 连接 SQL Server 2005 的基本配置 为了能够顺利地使用...
下面我们将详细探讨这些数据库的JDBC连接方式。 1. **Oracle 8/8i/9i 数据库 (Thin 模式)** Oracle数据库使用`OracleDriver`驱动程序。在连接之前,需要加载驱动类。以下是如何连接到Oracle数据库的例子: ```...
本主题将详细介绍如何使用JDBC连接五种不同的数据库——DB2、MySQL、Oracle、SQL Server 2000和SQL Server 2005,并着重讲解所需的JAR包。 1. **DB2数据库**: - JDBC连接DB2,需要IBM的JDBC驱动,通常为`db2jcc4....
JDBC 提供两种 API,分别是面向开发人员的 API 和面向底层的 JDBC 驱动程序 API,底层主要通过直接的 JDBC 驱动和 JDBC-ODBC 桥驱动实现与数据库的连接。一般来说,Java 应用程序访问数据库的过程是:装载数据库驱动...
两种方式均需加载相应的驱动类,并设置合适的URL进行连接。 6. **ODBC**:虽然ODBC主要针对C语言,但JDBC也提供了ODBC桥接驱动`sun.jdbc.odbc.JdbcOdbcDriver`,允许通过ODBC数据源进行数据库连接。 7. **DB2**:...
### JDBC连接数据库的操作 在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。它由一组用Java编程语言编写的接口和类组成。本文将详细解析...
JDBC提供了两种方式连接数据库:ODBC和专用驱动程序。 JDBC 连接数据库 JDBC 连接数据库的主要任务是完成三件事:与数据库建立连接、向数据库发送 SQL 语句、处理数据库返回的结果。 注册和加载驱动程序 在使用 ...
本知识点主要讲解如何使用JDBC连接Oracle和SQL Server这两种常见的关系型数据库。 首先,我们需要理解JDBC的基本概念。JDBC是一个Java API,它允许Java应用程序与各种类型的数据库进行通信。通过JDBC,开发者可以...
使用JDBC连接Microsoft SQL Server数据库有两种方式: **方法一(使用jTDS驱动):** ```java // 加载jTDS驱动 Class.forName("net.sourceforge.jtds.jdbc.Driver"); // 连接数据库 Connection ...
本资料包"jdbc连接数据库.zip"包含了关于如何使用JDBC进行数据库连接的一些关键知识点,包括源代码示例和可能的笔记。 1. **JDBC API基础**: JDBC API主要由以下几个核心接口和类组成:`DriverManager`、`...
完全自己制作演示,有csdn博客详解,两种jdbc连接池方式,附带mysql、sqlserver连接配置注释,方便学习。欢迎下载,csdn博客地址https://mp.csdn.net/mdeditor/85070892
总结,JDBC连接Access数据库主要涉及JDBC-ODBC桥接和使用第三方驱动如UCanAccess两种方式。每种方式都有其适用场景,开发者需要根据项目需求和环境选择合适的方法。理解这些基础知识对于进行Java数据库编程至关重要...
2. **引入驱动**:按照上述两种方式之一,将jar包引入到项目或服务器的lib目录。 3. **注册驱动**:在Java代码中,通过`Class.forName()`方法注册JDBC驱动,例如`Class.forName(...