`
liaobuzhisi
  • 浏览: 71690 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
文章分类
社区版块
存档分类
最新评论

oracle连接池配置收藏

阅读更多

这些细节包括:
1、导入JDBC包
2、注册oracle JDBC驱动程序
3、打开数据库连接
4、执行SQL DML语句在数据库表中获取、添加、修改和删除行
 

一、JDBC驱动程序
    共有有4种
1、Thin驱动程序
     Thin驱动程序是所有驱动程序中资源消耗最小的,而且完全用java编写的。
     该驱动程序只使用TCP/IP且要求Oracle Net。被称为第4类驱动程序。
     它使用TTC协议与Oracle数据库进行通信。能够在Applet、Application中使用。
2、OCI驱动程序
     OCI驱动比Thin需要资源要多,但性能通常好一点。OCI驱动适合于部署在
     中间层的软件,如Web服务器。不能在applet中使用OCI驱动。是第2类驱动程序。
     不完全用java写的,还包含了c代码。该驱动有许多附加的性能增强特性,
     包括高级的连接缓冲功能。
     注意:OCI驱动要求在客户计算机上安装它。
3、服务器内部驱动程序
     服务器内部驱动程序提供对数据库的直接访问,Oracle JVM使用它与数据库进行通信。
     Oracle JVM是与数据库集成的Java Virtual Machine,可以使用Oracle JVM将
     Java类装载进数据库,然后公布和运行这个类中包含的方法。
4、服务器Thin驱动程序
     服务器端Thin驱动程序也是由Oracle JVM使用的,它提供对远程数据库的访问。
     也是完全用Java编写的。

二、导入JDBC包

三、注册Oracle JDBC驱动程序
       必须先向java程序注册Oracle JDBC驱动程序,然后才能打开数据库连接。
       有两种注册Oracle JDBC驱动程序的办法。
 1、使用java.lang.Class的forName()方法
       例子:Class.forName("oracle.jdbc.OracleDriver");
 2、使用JDBC DriverManager类的registerDriver()方法。
       例子:DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
       如果使用Oracle8i JDBC驱动程序,那么需要导入oracle.jdbc.driver.OracleDriver类,
       然后注册这个类的实例。
       例子:
       import oracle.jdbc.driver.OracleDriver;
       DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
       注意:从JDBC2.0开始,只用JDBC驱动程序的更标准办法是通过数据源。
四、打开数据库连接
        必须先打开数据库连接,然后才能在Java程序中执行SQL语句。打开数据库连接
        的主要办法。
 1、DriverManager类的getConnection()方法。
      DriverManager.getConnection(URL,USERNAME,PASSWROD);
          URL:程序要连接的数据库,以及要使用的JDBC驱动程序
              URL的结构依赖于JDBC驱动程序的生产商。对于Oracle JDBC驱动程序,数据库URL的结构:
                  driver_name@driver_information
                      driver_name是程序使用的Oracle JDBC驱动程序的名称。如:
                           jdbc:oracle:thin Oracle JDBC Thin驱动程序
                           jdbc:oracle:oci  Oracle JDBC OCI驱动程序
                           jdbc:oracle:oci8 Oracle JDBC OCI驱动程序
                      driver_information是连接数据库所需的驱动程序特有的信息。这依赖于使用的驱动程序。
                          对于Oracle JDBC Thin驱动程序,可以用
                           host_name:port:database_sid 或者 Oracle Net关键字-值对
                           (description=(address=(host=host_name)(protocol=tcp)(port=port()
                           (connect_data=(sid=database_sid)))
                                    host_name: 运行数据库的机器的名称
                                              port: Net数据库监听器等待这个端口上的请求,默认是1521
                                 database_sid: 要连接的数据库实例的Oracle SID。
        USERNAME:   程序连接数据库时使用的数据库用户名
        PASSWROD:   用户名的口令
                        例子:
                              Connection myConnection=DriverManager.getConnection(
                              "jdbc:oracle:thin:@localhost:1521:ORCL",
                              "store_user",
                              "store_password");

                              Connection myConnection=DriverManager.getConnection(
                              "jdbc:oracle:oci:@(description=(address=(host=localhost)"+
                              "(protocol=tcp)(port=1521))(connect_data=(sid=ORCL)))",
                              "store_user",
                              "store_password");
 2、使用Oracle数据源对象,必须先创建这个对象,然后连接它。使用这种方法
       采用了一种设置数据库连接信息的标准化方式,Oracle数据源对象可以与
       Java Naming and Directory Interface(Java名字与目录接口,JNDI)一起使用。(

OCI驱动详细:

 摘要:配置java web应用使用OCI驱动来访问oracle数据库,如果在tomcat下有多个应用,且每个应用都要访问oracle数据库时的注意项事。Oracle的即时客户端配置等。

  公司各种产品的前端、后端差不多都是用java开发的Web应用且运行在tomcat里。根据oracle的说法,java程序连接oracle数据库时,用oci驱动要比用thin驱动性能好些。主要的区别是使用thin驱动时,不需要安装oracle的客户端,而使用oci时则要安装oracle的客户端。

  从使用thin驱动切换到oci驱动在配置来说很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:oci@本地服务名即可。如:

  从

   jdbc:oracle:thin:@10.1.1.2:1521:shdb

  改成

   jdbc:oracle:oci8:@shdb

  但这里这台机需安装oracle数据库的客户端并配置本地服务名,同时还需指定NLS_LANG环境变量,NLS_LANG环境变量是用来控制客户端在显示oracle数据库的数据时所用的字符集和本地化习惯。通常把NLS_LANG的字符集部分指定为数据库所用的字符集则就不会存在java显示的乱码问题了。

  对于oracle数据库客户端的安装,有二种选择,一是老实的用oracle数据库的安装光盘安装对应版本的oracle客户端。二是下载oracle提从的即时客户端,即时客户端是不用安装的,把下载包解压即可。

  要使java web正常的通过oci驱动访问oracle,还需要客户端正确的配置一下相关变量。主要如下:

  对于windows系统并使用oracle客户端时:

  1. 把%ORACLE_HOME%\lib加到PATH环境变量.

  2. 把%ORACLE_HOME%\jdbc\lib\classes12.jar加到CLASSPATH环境变量里.也可以把classes12.jar拷贝到tomcat的comman\lib目录下。

  对于windows系统并使用oracle的即时客户端时(假定即时客户端解压在d盘):

  1. 把d:\instantclient_10_2加到PATH环境变量

  2. 把d:\instantclient_10_2\classes12.jar加到CLASSPATH环境变量里.也可以把classes12.jar拷贝到tomcat的comman\lib目录下。

  对于linux系统并使用oracle客户端时:

  1. 在使用tomcat的用户主目录下的.bash_profile文件中加入

  exprot ORACLE_HOME=/u01/app/oracle/product/9.2.0.4

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

  2. 把classes12.jar拷贝到tomcat的comman\lib目录下。

  对于linux系统并使用oracle即时客户端时:

  1. 在使用tomcat的用户主目录下的.bash_profile文件中加入

  exprot ORACLE_HOME=/instantclient_10_2

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

  2. 把instantclient_10_2目录下的classes12.jar拷贝到tomcat的comman\lib目录下。

  如果一个tomcat下带了几个应用,且几个应用都要连接oracle数据库时,则要注意的时,不要在每个应用的WEB-INF/lib目录下放入oracle的classes12.jar/zip文件。而应该把classes12.jar/zip文件放到tomcat的common/lib目录下。否则会出来ojdbclib9/10库重复加载的错误。

  使用oracle即时客户端是,本地服务名的建立可以在目录instantclient_10_2下建立tnsnames.ora下添加连接串,如:

  SHDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.236)(PORT = 1521)))
  (CONNECT_DATA =(SERVICE_NAME = shdb)))

  即可 

分享到:
评论

相关推荐

    第1章_Oracle_11g基础入门.pptx

    网络连接配置至关重要,Oracle使用Net Services(原TNS,Transparent Network Substrate)进行网络通信,允许数据库服务在各种网络环境中透明地通信。Oracle 11g提供了多种管理工具,如SQL*Plus、Enterprise Manager...

    2021-2022收藏资料网站seo优化设计稿(三)【心动传媒】.doc

    【标题】:“2021-2022收藏资料网站seo优化设计稿(三)【心动传媒】.doc” 【描述】:“教育精品资料” 【标签】:“教育精品资料” 【部分内容】主要讨论了ORACLE数据库的优化设计,包括数据库逻辑配置的OFA结构...

    精品资料(2021-2022收藏)JAVA+android-.doc

    2. **开发环境搭建**:Tomcat服务器的安装配置,MyEclipse插件的使用,以及数据库连接池的配置和使用。 3. **JSP(JavaServer Pages)**:讲解了JSP的基础语法,包括Scriptlet、请求响应对象(request、response)...

    往届师兄师姐面试真题收集(Java相关岗位)

    配置C3P0连接池,然后通过C3P0的工具类获取连接,使用完后再关闭连接,以实现数据库连接的高效复用。 9. **JSP与Servlet的区别**:JSP主要负责视图展示,Servlet则负责控制逻辑。JSP最终会被编译成Servlet执行。每...

    精品资料(2021-2022收藏)JAVA+android-.docx

    - 数据库连接池:如C3P0、DBCP等,提高数据库连接的复用性。 8. **项目实践**: - 企业在线学习管理系统:包括学员管理、课程管理、评论等功能,采用MVC或Struts+DAO+XML+AJSX开发。 - 企业人力资源管理系统:...

    EasyJForum v3.0 Java技术的社区论坛.rar

     EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的...

    EasyJForum v3.0 简体中文 GBK.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    EasyJForum v3.0 繁体中文 BIG5.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    EasyJForum v3.0 繁体中文 UTF8.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    hibernate3官方中文文档PDF.rar

    文档详细介绍了Hibernate的配置,包括如何在hibernate.cfg.xml文件中配置数据源、连接池、方言等信息,以及实体类的映射文件(hbm.xml)的编写规则。 其次,文档详细讲解了实体类的设计和映射。实体类是业务逻辑中的...

    BBS设计与制作毕业设计论文

    7. **性能优化**:为了保证BBS系统的高效运行,可能需要进行缓存策略设计、数据库连接池配置、负载均衡等优化手段。这涉及到服务器性能监控、日志分析等技能。 8. **毕业设计论文撰写**:论文应包含系统背景介绍、...

    小型图书资料管理系统

    此外,数据库连接池技术,如C3P0或DBCP,可以提高数据库连接的复用性,降低系统资源消耗。 在功能实现上,系统可能包含以下几个主要模块: 1. 图书管理:添加新书、修改图书信息、删除图书,以及批量导入图书数据。...

    EasyJForum 3.0 企业版 简体UTF8.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    EasyJForum 3.0 企业版 繁体BIG5.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    EasyJForum 3.0 企业版 繁体UTF8.zip

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    MySQL20个高性能架构设计原则(值得收藏)

    11. **连接池管理**:使用连接池,设置长连接,监控异常,记录访问情况,避免资源浪费和雪崩效应。 12. **应用解耦**:通过应用层访问数据库,确保关键业务独立,降低依赖风险。 13. **组件失效免疫能力**:构建...

    EasyJForum论坛官方版下载 v3.0

    EasyJForum 的基本设计宗旨是简洁,因此仅仅采用了最基本的 JSP,JDBC 等技术以获取最高的性能和可扩展性,同时采用了缓存和连接池等技术以加强性能,采用了 lucene 包以实现全文检索。此外没有采用任何其它复杂的第...

    jdk-6u45-linux-x64

    6. **增强的JDBC**:提供了更强大的数据库连接池和事务管理功能。 7. **增强的安全性**:增加了更多安全特性,如Java插件沙箱强化和证书链验证改进。 在描述中提到,这个版本可以用于收藏、学习和研究。对于初学者...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、和相关人员进行交流和沟通以及删除访问者发表的评论等。 因此,在具体设计实现该博客网站时,主要考虑了主流博客...

Global site tag (gtag.js) - Google Analytics