struts2+spring+ Sybase项目,配置连接池后连接不上数据库!!!

爱吃苹果的琉克 2012-04-17 04:08:16
项目是copy过来的,只是现在项目的数据库从oracle换成了Sybase,以前一直没接触过Sybase,昨天整了一天,把表和视图全部移到Sybase数据库了,启动项目 未出现异常, 访问任意一个方法时出现如下错误,貌似没连接上数据库.....
使用jdbc方式连接是正常的。



2012-04-17 15:44:44,201 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] resourcepool.BasicResourcePool (BasicResourcePool.java:1841) - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@16af14d -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: JZ00L: 登录失败。检查与此异常现象有关的 SQL 警告以获得失败原因。
at com.sybase.jdbc4.jdbc.ErrorMessage.raiseError(Unknown Source)
at com.sybase.jdbc4.tds.Tds.processLoginAckToken(Unknown Source)
at com.sybase.jdbc4.tds.Tds.doLogin(Unknown Source)
at com.sybase.jdbc4.tds.Tds.login(Unknown Source)
at com.sybase.jdbc4.jdbc.SybConnection.tryLogin(Unknown Source)
at com.sybase.jdbc4.jdbc.SybConnection.handleHAFailover(Unknown Source)
at com.sybase.jdbc4.jdbc.SybConnection.<init>(Unknown Source)
at com.sybase.jdbc4.jdbc.SybConnection.<init>(Unknown Source)
at com.sybase.jdbc4.jdbc.SybDriver.connect(Unknown Source)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)


数据库连接参数配置如下:

jdbc.type=javax.sql.DataSource
jdbc.driverClassName=com.sybase.jdbc4.jdbc.SybDriver
jdbc.url=jdbc:sybase:Tds:10.8.10.246:5000/sybweatherdb?charset=cp850&jconnect_version=4
jdbc.username=ty_weather_01
jdbc.password=ty1234

datasource.maxActive=10
datasource.maxIdle=2
datasource.maxWait=120000
datasource.whenExhaustedAction=1
datasource.validationQuery=select 1 from dual
datasource.testOnBorrow=true
datasource.testOnReturn=false

c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.idleConnectionTestPeriod=600
c3p0.minPoolSize=2
c3p0.maxPoolSize=10
c3p0.maxStatements=100
c3p0.numHelperThreads=10
c3p0.maxIdleTime=600


spring dataSource配置

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${jdbc.driverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<property name="user">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
<property name="minPoolSize">
<value>${c3p0.minPoolSize}</value>
</property>
<property name="maxPoolSize">
<value>${c3p0.maxPoolSize}</value>
</property>
</bean>


求高手指导。。。。。
...全文
843 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
naw_1990 2013-08-07
  • 打赏
  • 举报
回复
原来我安装的sybase15.5 jconnect_version版本应该是3 jdbc:sybase:Tds:10.8.10.246:5000/sybweatherdb?jconnect_version=3&charset=utf8 楼主你怎么查看jconnect_version版本的?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
datasource.validationQuery=select 1 from dual

这个,select 1就行了。
别的还真没看出有什么错。
[/Quote]
已经解决了,
原来我安装的sybase15.5 jconnect_version版本应该是3

jdbc:sybase:Tds:10.8.10.246:5000/sybweatherdb?jconnect_version=3&charset=utf8

我目前用的是:SqlDbx.exe 2M 支持多种类型的数据库 ,这个工具获取中文老乱码,不过界面很美观
另外一个 sqladv-12_5 界面相当的丑,不过就因为用他中文不会有乱码,插入进去的中文页面展示也正常,

另外找你 求一个好点的 sybase客户端软件,知道你有,分全部 给你。。。。
邮箱 wangchong10_22@163.com
谢谢!!!
iihero 2012-04-17
  • 打赏
  • 举报
回复
datasource.validationQuery=select 1 from dual

这个,select 1就行了。
别的还真没看出有什么错。

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧