- 浏览: 633119 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
领导给了一串连接串给我,如下:
PERAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 131.197.17.137)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 131.197.17.138)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = ON)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pe)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES=180)
(DELAY=5)
)
)
)
要我在程序配置好这一串连接,其实很简单。只需要把上面这一串放在以前只放置一条url连接的url标签就可以了。以前配置的时候只是一个地址。现在有两个,需要用上面那一串。
配置c3p0没问题,如下:
<property name="connection.url">jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 131.197.17.137)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 131.197.17.138)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = pe)))</property>
但有些操作用到的是Spring的jdbcTemplate来做的。如果我想c3p0一样把两个地址写在url标签里。会报错,如下:
Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=169870336)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(ADDRESS=(PROTOCOL=TCP)(HOST=131.197.17.138)(PORT=1521))'))(ERROR=(CODE=305)(EMFI=1))))
刚开始我以为是138这个机器连不上,因为它提示的是138,于是我只用了137的机器去连接,结果还是报这个错,最后换成了138去连,放而没问题了!不过不能同时写137和138,其实只用到了一个地址。哪怕写一个地址的时候。也要这样写:
<value>jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 131.197.17.138)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA = (SERVICE_NAME=pe)))</value>
不能简单的url+端口+sid,不然会报错:
Could not get JDBC Connection; nested exception is java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169870336)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
我还在尝试,如何才能在spring的jdbcTemplate配置双地址。难道是是因为org.springframework.jdbc.datasource.DriverManagerDataSource有关?要改成连接池?我尝试下吧!反正以上是可以用了。
最后问题解决了!其实直接把连接串写在url标签就可以了。只需要你的数据库驱动是最新的!这个很重要。我之前有的是class12.jar,用这个驱动的话很不稳定,时好时坏,于是换了ojdbc.jar,好家伙!怎么折腾都没事!问题解决!
以下是网上转载的,留档学习:
顺便记录下配置链接字符串的参数:
address后面就是连接的IP和端口号没什么说的。load_balance=yes;表示是否负载均衡。server = dedicated;表示专用服务器模式,感觉可以去掉。service_name=orcl;要操作数据库的服务名。TYPE = SESSION表示当一个连接好的会话的实例发生故障,系统会自动将会话切换到其他可用的实例,前台应用无须再度发起连接,但会话正在执行的SQL 需要重新执行。METHOD = BASIC表示初始连接就连接一个接点,他还有个选项是preconnect,表示初始连接所有的接点。RETRIES:重试次数。DELAY:重试的延迟(以秒为单位)。
并且集群中如果ORACLE服务器的LISTENER配置的是本机的机器名,则应用方面最好把winnt下的system32\drivers\etc\hosts文件更改一下。最后加上IP对应的机器名,比如:
10.37.27.111 linux1-vip
10.37.27.112 linux2-vip
评论
一台数据库挂了可以里面连接到第二台数据库
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl"
value="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.46.178.36)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.46.178.36)(PORT = 1521))(LOAD_BALANCE = yes))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = zxin)(FAILOVER_MODE =(TYPE = SESSION)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))" />
<property name="user" value="zxdev" />
<property name="password" value="zxdev" />
<property name="acquireIncrement" value="10" />
<property name="acquireRetryAttempts" value="30" />
<property name="acquireRetryDelay" value="1000" />
<property name="autoCommitOnClose" value="false" />
<property name="breakAfterAcquireFailure" value="false" />
<property name="checkoutTimeout" value="5000" />
<property name="initialPoolSize" value="20" />
<property name="maxIdleTime" value="10000" />
<property name="maxPoolSize" value="50" />
<property name="maxStatements" value="0" />
<property name="maxStatementsPerConnection" value="0" />
<property name="numHelperThreads" value="3" />
<property name="propertyCycle" value="600" />
</bean>
这是我的配置,如何配置?
请指教
发表评论
-
备份和还原数据库【转】
2011-09-01 17:03 943使用软件备份mysql数据库(以Navicat为例) 1)打 ... -
插入数据库类型为Date的方法
2011-07-20 17:12 1553控制端用的是webwork,表单类型text 传入后用stri ... -
MySQL错误1042-Can't get hostname for your address解决方法[原]
2011-07-14 14:07 4345本人最近在linux上部署php环境,在利用xampp部署后有 ... -
因为用class12.jar去做10i的驱动报错的解决【原创】
2011-07-13 18:35 917Connection refused(DESCRIPTION ... -
运用PowerDesigner建模和建表
2011-02-21 17:20 26361 建工作空间 File -- new model – ph ... -
Tomcat自带连接池应用【转】
2011-01-28 15:54 1113tomcat6.0连接mysql数据库连接池[原创]1 下载T ... -
spring jdbc queryForList出来的数据获取内幕!【体会】
2011-01-24 10:05 3459对于一般的hibernate查询,返回的往往是一个我们熟悉的l ... -
指定索引/*+INDEX(TABLE INDEX_NAME)*/等优化Oracle查询效率的总结
2010-12-15 21:00 4761在之前的项目有一个很痛苦的查询,用了太多的跨数据库访问,加上数 ... -
oracle跨数据库授权【原创】
2010-12-12 22:23 1908对于oracle数据库,某个用户跨数据库访问另一个用户的表,有 ... -
oracle远程连接查询【原创】
2010-12-12 22:21 1007对于不在本库的表,需要练级查询的话,可以再oracle里面 ... -
转:深入浅出SQL之左连接、右连接和全连接
2010-12-12 22:10 830为了从两个或多个表中选出数据,我们一般使用表连接来实 ... -
左连接语句【原创】
2010-12-12 16:50 813语句如下: Query q = sessionFa ... -
存储过程详解【转载】
2010-12-12 11:20 922存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信 ... -
为什么要使用存储过程及其书写方法【原创+转载】
2010-12-12 11:18 941你想要是要处理很多数据,全部交由java去处理的时候,从数据库 ... -
.Mdf文件如何导入到SqlServer数据库【转】
2010-12-12 11:11 1866任务:将PUBS重新导入可以这样用sp_attach_db ... -
proxool 链接sqlserver的配置【转】
2010-12-12 11:08 1189配置之前必须引入proxool-0.9.0RC1.jar包 ... -
如何连接SQL Server数据库(Java版)【转】
2010-12-12 11:08 1330用Java连接SQL Server2000数据库有多种方法 ... -
一个比较规范的jdbc连接方法类
2010-12-11 22:40 827主要是留意里面的关闭连接释放资源的写法~ public ... -
转贴]如何正确利用Rownum来限制查询所返回的行数?
2010-12-11 11:29 746如何正确利用Rownum来限制查询所返回的行数? 软件环境: ... -
sql中limit用法【转】
2010-12-11 11:17 1971$query="select * from tb ...
相关推荐
使用Spring的JdbcTemplate调用Oracle的存储过程
数据库连接池jar包,包含c3p0、druidjar包和依赖jar包,c3p0通过配置文件xml或者properties读取连接对象 druid通过properties读取连接,使用springJDBC JdbcTempalte简化sql操作
Spring jdbcTemplate 调用 Oracle 存储过程返回 List 集合 Spring jdbcTemplate 是一个强大的 JDBC 模板,提供了简洁的方式来访问数据库。在此文档中,我们将介绍如何使用 Spring jdbcTemplate 调用 Oracle 存储...
使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...
同时,还需要配置数据库连接池,如C3P0或Druid,以优化数据库资源的管理和复用。 在实际操作中,你需要配置SpringMVC的上下文配置文件,声明DispatcherServlet、视图解析器和其他必要的bean。对于JdbcTemplate,你...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着重要的角色,它能有效地管理和复用数据库连接,提高系统性能,减少数据库资源的消耗...
总之,整合SpringMVC和C3P0连接池可以提升应用的数据库操作性能,通过合理配置C3P0参数,可以进一步优化连接池的使用,降低资源消耗。同时,结合Spring的其他组件,如JdbcTemplate,可以简化数据库操作,让代码更易...
Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...
C3P0、Druid和JDBCTemplate都是Java中常用的数据库连接池管理工具,它们为开发者提供了高效、稳定的数据库连接管理解决方案。下面我们将分别介绍这三个组件,并探讨其特点和使用方法。 1. C3P0: C3P0是一个开源的...
C3p0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3p0可以帮助我们管理数据库连接,提高数据库访问效率,减少系统资源的消耗。下面我们将详细探讨C3p0的...
总结,C3P0连接池是Java开发中一个重要的工具,它的高效管理和灵活配置使得在处理大量数据库操作时能大幅提升系统的性能和稳定性。正确理解和使用C3P0,可以有效优化数据库连接管理,从而提高整体应用程序的效率。
本资源提供了三个常用的数据库连接池实现:C3P0、Druid和JdbcTemplate。下面将详细介绍这三个连接池以及它们的特点。 1. C3P0连接池: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和...
在本教程中,我们将深入探讨如何在Spring Boot项目中配置和使用多数据源以及JdbcTemplate。 首先,让我们了解什么是`JdbcTemplate`。它是Spring提供的一种模板类,用于执行SQL语句,通过回调机制将结果转换为Java...
综上所述,这个资源包提供了一套完整的数据库连接池解决方案,涵盖了C3P0和Druid两种流行的数据库连接池,以及JdbcTemplate工具类,对于Java开发人员来说是非常实用的。通过合理配置和使用这些工具,可以有效地提高...
4. **配置JdbcTemplate或JPA**:根据项目需求,可以选择使用Spring的JdbcTemplate或者JPA来操作数据库,这两者都可以与C3P0数据源无缝集成。 5. **测试与优化**:在实际运行中,可以通过监控和测试来调整C3P0的配置...
为了提高性能和资源利用率,开发中通常会使用连接池如HikariCP、C3P0或Druid。在Maven中添加对应连接池的依赖,并在配置文件中设置相应的参数。 5. **测试连接**: 你可以编写一个测试类,使用JUnit或Spock等测试...
### Oracle + jdbcTemplate + Spring + Java + Flex 实现分页 #### 一、Oracle存储过程分页 在Oracle数据库中,为了实现高效的分页查询,通常会采用存储过程的方式来完成。这种方式能够有效地减少网络传输的数据量...
JDBC整合c3p0数据库连接池 解决Too many connections错误 连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。博客地址 ...