oracle连接池配置
- 格式:doc
- 大小:66.00 KB
- 文档页数:6
Oracle数据库连接的⼏种⽅式⼀、本地通过JDBC获得Oracle数据库连接通过JDBC获得Oracle数据库连接,有三种⽅式:OCI⽅式、thin⽅式和JdbcOdbc桥⽅式。
OCI⽅式依赖于本地的动态链接库,如果在本地安装了Oracle数据库客户端可以采⽤该⽅式;⽽thin⽅式为纯java的数据库连接⽅式;JdbcOdbc桥⽅式依赖于本地ODBC数据库源的配置,这种⽅式⼀般不太被采⽤。
1、OCI⽅式 先在本地安装Oracle客户端,安装完之后,在安装的路径中可以找到…/jdbc/lib/classes12.zip⽂件,我们在环境变量classpath中设置classes12.zip所在的路径。
然后通过以下的数据库连接类,在本地通过OCI⽅式获得Oracle数据库连接。
/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过OCI⽅式获得Oracle数据库连接*/public class DbConnection{ final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199"; /** * */ public DbConnection() { } /** * 获得Oracle数据库连接 */ public java.sql.Connection connectDbByOci() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }}/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过thin⽅式获得Oracle数据库连接*/public class DbConnection{ private String sConnStr = ""; /** * 缺省构造器 */ public DbConnection() { sConnStr = "jdbc:oracle:thin:@10.1.4.199:1521:ora199"; } /** * @param ip,serviceName */ public DbConnection(String ip,String serviceName) { sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName; } /** * 通过thin⽅式获得Oracle数据库的连接. */ public java.sql.Connection connectDbByThin() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,"sr","sr"); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; } /** * 通过thin⽅式获得Oracle数据库的连接. * @param userId,password */ public java.sql.Connection connectByJdbc(String userId,String password) { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,userId,password); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }} 这种⽅式运⽤起来⽐较灵活,简单,具有较强的移植性和适⽤性。
Oracle连接参数主要用于设置连接数据库的详细信息,包括连接字符串、用户名、密码、端口号、服务名等。
以下是一些常用的Oracle连接参数:1. 连接字符串(TNS名称):用于标识Oracle数据库实例的位置和类型。
通常采用以下格式:TNS_NAME = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 端口号)) (CONNECT_DATA = (SERVICE_NAME = 服务名)))2. 用户名和密码:用于验证连接数据库的用户身份。
在命令行工具(如SQL*Plus)中使用,格式如下:USERID/PASSWORD=用户名/密码3. 端口号:用于指定Oracle数据库监听的端口。
默认情况下,Oracle数据库监听的端口为1521。
4. 服务名:用于区分同一台服务器上运行的多个Oracle数据库实例。
格式如下:SERVICE_NAME = 服务名5. 数据库字符集:用于指定Oracle数据库的字符集,例如UTF8、AL32UTF8等。
6. NLS参数:用于设置Oracle数据库的时区、语言等环境变量。
例如:NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'NLS_TIME_ZONE = 'PRC'7. 数据库类型:用于指定Oracle数据库的类型,如ORACLE、SEQUEL等。
8. 连接池参数:用于设置连接池的属性,如最大连接数、最小连接数等。
例如:POOL_NAME = 'mypool'MAX_POOL_SIZE = 10MIN_POOL_SIZE = 59. 隐私设置:用于设置连接数据库的隐私选项,如加密、身份验证等。
SECURITY_MEASURES = ('NONE', 'KERBEROS', 'SSL', 'EXTERNAL_AUTH)10. 其他参数:根据具体需求,还可以设置其他相关参数,如数据库备份、恢复等。
oracle jdbc 配置参数OracleJDBC是一种Java数据库连接API,提供连接Oracle数据库的能力。
要连接Oracle数据库,需要配置一些参数。
以下是一些常用的Oracle JDBC配置参数:1. JDBC驱动程序类名:oracle.jdbc.driver.OracleDriver2. JDBC URL:jdbc:oracle:thin:@主机名:端口号:数据库名称3. 用户名和密码:可以通过设置用户名和密码来进行身份验证,例如:Connection connection =DriverManager.getConnection('jdbc:oracle:thin:@主机名:端口号:数据库名称', '用户名', '密码');4. 最大连接数:可以通过设置最大连接数来控制连接池中允许的最大连接数。
5. 连接超时:可以通过设置连接超时来控制连接池中连接的最长等待时间。
6. 自动提交:可以通过设置自动提交来控制是否自动提交事务。
7. 数据库连接属性:可以使用连接属性来配置连接池的行为,例如:Properties properties = new Properties();properties.setProperty('user', '用户名');properties.setProperty('password', '密码');properties.setProperty('oracle.jdbc.ReadTimeout','5000');这些是Oracle JDBC配置参数的一些常见示例,可以根据需要进行调整和配置。
C3P0 连接池配置详解原文引自:/archives/2007/08/c3p0.html<c3p0-config><default-config><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。
Default: 3 --><property name="acquireIncrement">3</property><!--定义在从数据库获取新连接失败后重复尝试的次数。
Default: 30 --><property name="acquireRetryAttempts">30</property><!--两次连接中间隔时间,单位毫秒。
Default: 1000 --><property name="acquireRetryDelay">1000</property><!--连接关闭时默认将所有未提交的操作回滚。
Default: false --><property name="autoCommitOnClose">false</property><!--c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。
如果定义了这个参数那么属性preferredT estQuery将被忽略。
你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。
Default: null--><property name="automaticTestTable">T est</property><!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。
但是数据源仍有效保留,并在下次调用getConnection()的时候继续尝试获取连接。
oracle jdbc url 参数【最新版】目录1.Oracle JDBC 简介2.Oracle JDBC URL 的构成3.Oracle JDBC URL 参数详解3.1 数据源(dsn)3.2 用户名(user)和密码(password)3.3 连接池(pool)相关参数3.4 其他常用参数4.Oracle JDBC URL 参数示例5.结论正文一、Oracle JDBC 简介Oracle JDBC(Java Database Connectivity)是 Oracle 数据库与Java 程序之间进行数据交互的一种技术。
它提供了一组 Java 类和接口,使得 Java 程序可以连接到 Oracle 数据库并执行 SQL 语句。
使用Oracle JDBC,开发者无需关心底层数据库操作细节,只需专注于业务逻辑实现。
二、Oracle JDBC URL 的构成Oracle JDBC URL 是 Java 程序连接到 Oracle 数据库的方式。
它类似于其他数据库的连接字符串,包含了连接到数据库所需的全部信息。
一个典型的 Oracle JDBC URL 如下:```jdbc:oracle:thin:@localhost:1521:orcl```其中,各部分的含义如下:- jdbc:表示 JDBC 连接- oracle:表示 Oracle 数据库- thin:表示使用的 JDBC 驱动程序类型- @localhost:表示数据库服务器的地址- 1521:表示数据库服务器的端口号- orcl:表示要连接的数据库实例名三、Oracle JDBC URL 参数详解1.数据源(dsn)数据源是 Oracle JDBC URL 中的一个重要部分,它描述了数据库的连接信息。
数据源可以通过 JDBC 驱动程序的 getConnection 方法获取,也可以通过 JDBC URL 直接指定。
2.用户名(user)和密码(password)Oracle JDBC URL 中可以通过用户名和密码参数指定连接数据库的用户和密码。
数据库连接池的参数设置在进行数据库操作时,为了提高效率和性能,往往会使用数据库连接池。
数据库连接池是一种管理数据库连接的技术,它可以在应用程序启动时创建一定数量的数据库连接,并将这些连接保存在一个池中,供应用程序使用。
对于频繁进行数据库操作的应用程序来说,使用数据库连接池可以减少连接的创建和关闭的开销,提高数据库操作的效率。
数据库连接池的参数设置非常重要,不同的参数设置会对数据库连接池的性能和效果产生直接影响。
下面我将介绍一些常见的数据库连接池参数设置。
1. 初始连接数(InitialSize):指定连接池中初始化的连接数。
在应用程序启动时,连接池会创建这些连接并放入池中。
初始连接数的设置应根据应用程序的并发量和数据库的负载情况来确定,一般来说,初始连接数应该足够满足应用程序的并发需求,但也不能设置得过多,以免占用过多的系统资源。
2. 最小空闲连接数(MinIdle):指定连接池中保持的最小空闲连接数。
当应用程序不再使用连接时,连接池会将一部分连接保留在池中,以便下次使用。
最小空闲连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。
如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会浪费系统资源。
3. 最大空闲连接数(MaxIdle):指定连接池中保持的最大空闲连接数。
当连接池中的连接数量超过最大空闲连接数时,多余的连接会被关闭并从池中移除。
最大空闲连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。
如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会浪费系统资源。
4. 最大活动连接数(MaxActive):指定连接池中允许的最大活动连接数。
当连接池中的连接数量达到最大活动连接数时,新的连接请求会被阻塞,直到有连接被释放。
最大活动连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。
如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会导致数据库负载过高。
oracle jdbc 配置参数JDBC是Java Database Connectivity的缩写,是一个Java API,用于连接和访问兼容数据库管理系统的数据库。
Oracle是一个著名的数据库管理系统,为与Oracle数据库建立连接,需要设置一些参数来确保Java应用程序能够正确访问数据库。
本文将介绍Oracle JDBC的配置参数及其含义。
1. 驱动程序名(Driver Class)首先,需要加载Oracle JDBC驱动程序。
在Java中,可以使用Class.forName()方法来加载驱动程序。
Oracle的JDBC驱动程序为“oracle.jdbc.driver.OracleDriver”。
2. 连接URL(Connection URL)连接URL指定了Oracle数据库的位置。
它的语法为:“jdbc:oracle:thin:@<hostname>:<port>:<SID>”,其中<hostname>是数据库所在的主机名,<port>是数据库监听器的端口号,<SID>是Oracle实例名。
例如,连接到运行在本地主机上的Oracle数据库可以使用“jdbc:oracle:thin:@localhost:1521:ORCL”。
3. 用户名和密码(Username and Password)连接Oracle数据库时需要用到用户名和密码。
JDBC DriverManager提供了一个getConnection()方法,用于连接Oracle数据库。
在调用此方法时,需要传递用户名和密码参数。
例如,使用用户名“scott”和密码“tiger”连接到Oracle数据库可以使用以下代码:Connection conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger");连接属性是一组键值对,用于配置连接,例如设置数据库连接池大小、设置事务隔离级别等。
c3p0连接池默认参数
C3P0是一个开源的JDBC连接池,它提供了高效、可扩展和可靠的数据库
连接管理。
以下是C3P0连接池的一些默认参数:
1. 最大连接数(maxPoolSize):默认值为15。
2. 最小连接数(minPoolSize):默认值为3。
3. 初始化连接数(initialPoolSize):默认值为3。
4. 最大空闲时间(maxIdleTime):默认值为0,表示永不丢弃空闲连接。
5. 获取连接超时时间(checkoutTimeout):默认值为0,表示无限期等
待获取新连接。
6. 一次同时获取的连接数(acquireIncrement):默认值为3。
7. 获取新连接失败后重复尝试的次数(acquireRetryAttempts):默认值
为30。
8. 数据库驱动类名(driverClass):需要根据具体的数据库和驱动来确定。
9. JDBC连接URL(jdbcUrl):需要根据具体的数据库和连接信息来确定。
10. 用户名和密码(user和password):需要根据具体的数据库和用户信息来确定。
这些参数可以在C3P0的配置文件中进行修改,以满足实际应用的需求。
数据源配置:常规可在域中标识该数据源地唯一名称.此数据源绑定到地路径.默认情况下,名称就是数据源地名称.要为数据源指定多个名,请在单独地行上分别输入每个名.查找路径地应用程序将得到与此数据源对应地实例.启用通过一次服务器访问“预取”(即从服务器发送到客户端)多个行.当外部客户端通过使用访问数据库时,行预取功能可以一次性地访问服务器来为客户端提取多行,从而提高性能.当客户端和位于同一中时,将忽略此设置且不使用行预取功能.如果启用行预取,则指定为客户端预取地结果集行数.最佳预取大小取决于此查询地具体设置.通常在达到特定值之前,增加此数字时性能会提高.达到此特定值后,即使再增加此数字,也不会使性能有任何显著地提高.如果超过行,提高性能地可能性将微乎其微.通常默认值即适用于大多数情况.最小值:最大值:指定流量数据类型地数据块大小.流数据类型(例如,调用()而得到地数据类型)将根据需要以按大小排列好地数据块形式从发送到客户端.最小值:最大值:数据源配置: 连接缓冲池配置选项要连接到地数据库地 . 地格式随驱动程序地不同而变化.用于在连接缓冲池中创建物理数据库连接地驱动程序类地完整包名.(请注意,此驱动程序类必须存在于将其部署到地任何服务器地类路径中.):传递给创建物理数据库连接时使用地驱动程序地属性地列表.例如: .请分别在单独地行上列出各个对.要启用驱动程序级功能,请将驱动程序属性及其值添加到“属性”列表. 设置驱动程序地对象上地“属性”列表中地驱动程序级属性.注意:由于安全方面地原因,当以生产模式运行时,您不能在此属性列表中指定数据库密码.如果在此属性列表中指定密码,那么数据源部署将会失败.要替代此安全检查,请在启动此服务器时使用命令行参数“”.创建物理数据库连接时传递给驱动程序地密码属性.该值以加密形式存储在描述符文件及显示在“管理控制台”中.请确认密码.要在创建连接缓冲池时创建地物理连接数.如果无法创建这一数量地连接,创建此连接缓冲池地操作将会失败.此连接数也是连接缓冲池将保持地最小可用物理连接数.最小值:最大值:此连接缓冲池可容纳地最大物理连接数.将新连接添加到连接缓冲池时创建地连接数.不再有可用地物理连接来满足连接请求时,会创建该数量地附加物理连接并将它们添加到连接缓冲池中.用于维护存储在语句缓存中地准备就绪地语句地算法.选项有:▪当使用新地预处理或可调用语句时,替换缓存中最近最少使用地语句.▪缓存前若干个固定数量地预处理和可调用语句.存储在缓存中地“准备就绪”语句和可调用语句地数量.(这样可能会提高服务器性能.)可以重用缓存中地语句而无需重新加载它们,这样便可提高服务器性能.连接缓冲池中地每个连接都有其自己地语句缓存.将语句缓存地大小设置为将会关闭该语句缓存.高级配置选项名称描述使能够在将连接提供给客户端之前对连接进行测试.(要求指定“测试表名称”.)此测试在响应客户端对缓冲池中地连接地请求时将添加短时间地延迟,但会确保客户端收到有效连接.对于使用故障转移算法地在多数据源中使用地连接缓冲池,该测试是必需地.对未用连接进行测试地间隔秒数.(要求指定“测试表名称”.)未通过测试地连接将被关闭,然后将它们重新打开以重新建立有效地物理连接.如果测试再次失败,则此连接将被关闭.如果设置为,定期测试将被禁用.测试物理数据库连接时使用地数据库表名.指定“测试频率”和启用“测试保留地连接数”时需要此名称.用于测试连接地默认代码为“ (*) ”大多数数据库服务器会优化此以避免对表进行扫描,但仍然建议将“测试表名称”设置为已知包含极少地行或不包含行地表地名称.如果“测试表名称”以“ ”开头,则此开始标记后面地字符串剩余部分将被视为用于测试连接地语句文字而非标准查询.在将连接传递到应用程序之前或定期连接测试过程期间,相信连接仍然有效并将跳过连接测试时使用连接地秒数.此选项是一种最佳选择,可以最大程度地减少连接测试对性能造成地影响(特别是在流量很大地时候).最小值:最大值:在收缩为满足需要而增大了地连接缓冲池前需等待地秒数.如果设置为,收缩将被禁用.最小值:最大值:要执行地、将初始化新建物理数据库连接地语句.以后跟一个空格作为语句地开头.如果“初始”值以“ ”开头,则此开始标记后面地字符串剩余部分将被视为用于初始化数据库连接地语句文字.如果“初始”值不以“ ”开头,该值将被视为表格地名称,并会使用下列语句来初始化连接:“ (*) ”表必须存在且此连接地数据库用户必须能够访问它.大多数数据库服务器会优化此以避免对表进行扫描,但仍然建议将设置为已知包含极少地行或不包含行地表地名称.建立数据库连接尝试地间隔秒数.如果不设置此值,则在数据库不可用地情况下,创建数据源地操作将失败.如果已设置此值且在创建数据源时数据库不可用,则在您指定地秒数之后,将重新尝试在缓冲池中创建连接,并会不断尝试创建连接,直到创建成功.如果设置为,连接重试将被禁用.最小值:最大值:创建每个物理数据库连接前地延迟秒数.此延迟支持不能快速连续处理多个连接请求地数据库服务器.在初始数据源创建及数据源生命周期内,每当创建物理数据库连接时都会有此延迟.最小值:最大值:保留连接处于不活动状态地秒数,该秒数过后将收回该连接并将其释放回连接缓冲池.可以使用“非活动连接超时”功能收回泄漏地连接未由应用程序显式关闭地连接.请注意,不能使用此功能来代替正常关闭连接.如果设置为,此功能将被禁用.最小值:最大值:等待保留数据源地连接缓冲池中地连接时会阻塞线程地最大并发连接请求数.最小值:最大值:保留连接缓冲池中地连接地调用超时之前经过地秒数.如果设置为,则调用永远不会超时.如果设置为,则调用会立即超时.最小值:最大值:此时间后当前正在执行地语句将超时.依赖于底层驱动程序支持. 使用()方法将指定地时间传递给驱动程序.如果驱动程序不支持此方法,可能会引发异常并导致超时值被忽略.值为时禁用此功能.值为表示语句不会超时.最小值:最大值:即便仍在使用从缓冲池获取地连接,也能够将数据源关闭.是一个能够改善性能地选项,它启用执行线程以保持已进入缓冲池地数据库连接,即使在应用程序关闭逻辑连接之后.启用后,将在应用程序首次使用某个执行线程保留连接时把连接缓冲池中地一个数据库连接固定到此线程.当应用程序使用完此连接并调用()(此方法在其他情况下将把连接返回到连接缓冲池)时,将把该连接保留给执行线程,而不会将其返回连接缓冲池.当此后某个应用程序使用相同地执行线程请求连接时,将提供此线程已保留地这个连接.使用,当多个线程尝试同时保留一个连接时,连接缓冲池上不会发生锁定冲突,对于试图在有限个数地数据库连接中保留同一个连接地线程,也没有冲突.如果应用程序使用相同地执行线程同时保留连接缓冲池中地多个连接,将创建附加地数据库连接并同样将它们固定到此线程.指定在应用程序使用底层供应商连接对象之后是否从连接缓冲池中删除连接.如果禁止删除已占用地连接,必须确保该数据库连接适合被其他应用程序重复使用.设置为(默认设置)时,应用程序关闭逻辑连接后将不把物理连接返回给连接缓冲池.将关闭并重新创建此物理连接.设置为时,应用程序关闭逻辑连接后,物理连接将返回到连接缓冲池并可由该应用程序或其他应用程序重复使用.。
S2SH环境的搭建
1.项目的环境:
* Hibernate 3.3.2
* Hibernate Annotation 3.4.0
* Spring 2.5.6
* Struts 2.1.8
* jdk 1.5
*java EE5.0
2.需要拷贝到项目里的依赖包
总共27个JAR
1.其中Log4j一定不能少,
2.由于整合中去掉了hibernate的配置文件而在Spring配置文件中配置数据源,所欲
要引入commons-dbcp.jar commons-pool.jar两个JAR包
3.hibernate依赖包中要引入slf4j-api和slf4j与log4J的一个实现JAR包
Struts2.1.8依赖包:(都在struts-2.1.8\lib目录下面)
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
struts2-spring-plugin-2.1.8.jar
commons-beanutils-1.7.0.jar
Spring 2.5.6依赖包:
spring.jar
aspectjrt.jar
aspectjweaver.jar
commons-dbcp.jar
commons-pool.jar
Hibernate3.3.2和Hibernate Annotations 3.4.0.GA依赖包:
hibernate3.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
slf4j-api-1.5.8.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
ejb3-persistence.jar
mysql-connector-java-3.1.13-bin.jar
slf4j-log4j12-1.5.8.jar
log4j-1.2.11.jar
3.定义配置文件(去掉hibernate配置文件集成到spring 中)
sping配置文件
sessionFactory在spring配置文件中的配置(两种实现配置方式,hibernate3.4中多采用AnnotationSessionFactoryBean)
sessionFactory在Spring中的配置,必须完成3个方面的操作
1.数据源的配置
2.hibernate基本属性的配置
3.hibernate映射资源的配置
1.spring配置文件中如何引入外部属性文件?
<class="org.springframework.beans.factory.config.Pro
pertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property></bean>,在引用的地方使用${变量名}来调用
2.如何在spring中配置hibernate的基本属性?
<property name="hibernateProperties">
<props>
<prop></porp>
</props>
</property>这样配置就可以了
下面是Spring的通用配置文件,这里命名成applicationContext-common.xml
web.xml文件的配置
这个没有什么特别说明的,一般在做项目的时候直接拷贝就可以了
Hibernate实体映射配置
由于去掉了hibernate的配置文件,因此它的实体映射也是在spring中来完成的,实体映射
而它在spring中的配置如下(非常简单)如下:
<property name="packagesToScan">
<value>com.bjsxt.oa.model</value>
</property>
其他相关文件配置
1.struts2在项目搭建开始没有什么特别需要配置的,只需在classpath路径下面
引入struts.xml文件即可
2.由于数据源的基本信息是放在classpath路径下的一个属性文件,所以应该建
立一个jdbc.properties的文件,里面内容如下
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/oa
username=root
password=1
至此这三个框架就整合完毕,启动TOMCAT就可以了。