很奇怪,搞不定,求大家帮忙!!!!很急!!!!!在线等!!

rikee19810706 2009-10-25 07:43:16
我在做一个SSH的项目,属于功能升级:
写了一个业务逻辑的class Biz,对相关的表做了ORMAP,写了一个测试类继承Testcase
服务器用tomcat,datasource配置了连接池

用测试类直接测试,一切正常,但是部署到tomcat就报错:

# Exception occurred while logging on
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Connections could not be acquired from the underlying database!; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
...全文
200 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bayougeng 2009-10-26
我猜是数据源配置文件有问题。
但是只能猜。
回复
rorom 2009-10-26
建议还是裸奔下tomcat和带个简单的jdbc调试下.
回复
liangwansheng 2009-10-26
ssh中只用过spring,通过对spring的经验,我个人觉得tomcat有问题大多都是配置文件中有问题。
回复
rikee19810706 2009-10-26
[Quote=引用 19 楼 dawei2310 的回复:]
把tomcat 配置一下。
invwork
[/Quote]
不太明白,详细点
回复
rikee19810706 2009-10-26
[Quote=引用 18 楼 rorom 的回复:]
tomcat和数据库是在同一服务器?
[/Quote]
不是
回复
dawei2310 2009-10-26
把tomcat 配置一下。
invwork
回复
rorom 2009-10-26
tomcat和数据库是在同一服务器?
回复
rikee19810706 2009-10-26
用hibernateTemplate应该不用手动管理session吧
回复
rikee19810706 2009-10-26
[Quote=引用 24 楼 bayougeng 的回复:]
我猜是数据源配置文件有问题。
但是只能猜。
[/Quote]

配置我贴出来了啊,有问题么?
回复
chaojiliubi 2009-10-26
session 没关吧
回复
spotlight88 2009-10-25
不嫌弃的话,把项目发到我邮箱time0121@163.com,明天晚上我下班回来看一下
回复
luruibing 2009-10-25
不知道!!!
回复
rikee19810706 2009-10-25
这是DAO中连数据库的函数,getHibernateTemplate().find(queryString) 就会抛出异常。
public String getMaxVendorId() {
log.debug("geting max vendor ID");
try {
String queryString = "select max(vendor.vendorId) from CalibVendor vendor";
List<String> li = getHibernateTemplate().find(queryString);
if(li.get(0)==null)
{
return "0";
}
else
{
return li.get(0);
}
} catch (RuntimeException re) {
log.error("geting max vendor ID failed", re);
throw re;
}
}
回复
rikee19810706 2009-10-25
这是applicationContext.xml的datasource,sessionFactory的配置:
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:oracle:thin:@10.11.100.211:1521:prswdd</value>
</property>
<property name="user">
<value>calparis</value>
</property>
<property name="password">
<value>calparis</value>
</property>
<property name="minPoolSize">
<value>3</value>
</property>
<property name="maxPoolSize">
<value>20</value>
</property>
<property name="initialPoolSize">
<value>3</value>
</property>
<property name="maxIdleTime">
<value>60</value>
</property>
<property name="maxStatements">
<value>3</value>
</property>
<property name="testConnectionOnCheckout">
<value>true</value>
</property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>

这是hibernate.cfg.xml的SessionFactory的补充配置:
<session-factory>
<property name="myeclipse.connection.profile">
Cal_Paris3
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="show_sql">true</property>
<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.connection.release_mode">auto</property>
...
......
</session-factory>
回复
miaosha2009 2009-10-25
看你连接数据库是否连接上
回复
rikee19810706 2009-10-25
[Quote=引用 9 楼 jackhanqi 的回复:]
数据库连接没有建立,是不是往数据库添加新表了?配置文件是不是没有修改啊?
[/Quote]

没有新表,和新表有什么关系?
哪个配置文件?
回复
jackHanQi 2009-10-25
数据库连接没有建立,是不是往数据库添加新表了?配置文件是不是没有修改啊?
回复
spotlight88 2009-10-25
把代码贴出来,光猜很难命中
回复
rikee19810706 2009-10-25
数据库服务器一直up,要不然怎么用junit测试啊
回复
rikee19810706 2009-10-25
[Quote=引用 4 楼 swandragon 的回复:]
可能是有什么地方Session没关闭,造成连接数超过最大限制
http://topic.csdn.net/u/20090609/21/213a1d6b-86ee-408f-8089-b311f535961a.html
[/Quote]

第一次访问就报错了,应该不是这个问题吧??
回复
加载更多回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2009-10-25 07:43
社区公告
暂无公告