(在线等待)请教一个关于hibernate的问题:javax.servlet.ServletException: Not able to obtain connection

chenqiusheng 2006-04-16 01:27:12
各位大哥:
我现在在调试我的程序是tomcat报了这样的错误:
javax.servlet.ServletException: Not able to obtain connection
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.hibernate.HibernateException: Not able to obtain connection
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:113)
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:88)
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162)
org.hibernate.loader.Loader.doQuery(Loader.java:390)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
org.hibernate.loader.Loader.doList(Loader.java:1593)
org.hibernate.loader.Loader.list(Loader.java:1577)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
com.genuitec.hibernate.OperationB.lookup(OperationB.java:65)
com.yourcompany.struts.action.RegistAction.execute(RegistAction.java:48)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我在项目的lib目录和项目对应的tomcat的lib目录下都有sqlserver的驱动!在eclipse左边的资源包中的J2EE1.4 Library Container目录结构下也可以看见sqlserver的三个驱动jar

请各位帮帮我!!!着急啊!!这些到底是为什么呢?
...全文
218 9 点赞 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dp_555 2006-04-18
友情接分。。。
  • 打赏
  • 举报
回复
cheng_young 2006-04-17
把列的标识属性设为“是”
  • 打赏
  • 举报
回复
chenqiusheng 2006-04-16
兄弟,我怎么才可以在数据库中指定主键为自动增长啊!我不会啊!
教教我好吗?我用的是sqlserver2000(已经升级到sp4)
小弟先谢谢了!
  • 打赏
  • 举报
回复
cheng_young 2006-04-16
如果数据库中指定为自增长,使用<generator class="identity"/>就行了
  • 打赏
  • 举报
回复
chenqiusheng 2006-04-16
各位兄弟我现在把错误信息在控制台下用e.printStackTrace();输出来了,不是数据库连接的问题!我想请问一下各位:
在hibernate中是不是仅仅在Binformation.hbm.xml中像
<id name="personId" column="personId" type="java.lang.Long">
<generator class="native"/>
</id>
这样配置,就可以让数据库自动的生成主键啊?如果不可以,那么我有怎样才可以让主键自动生成呢?
但是我现在所报的错误中有这样一句:
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法将 NULL 值插入列 'personId',表 'myDatabase.dbo.BInformation';该列不允许空值。INSERT 失败。
各位兄弟请指教指教吧
  • 打赏
  • 举报
回复
cheng_young 2006-04-16
如果你确认连接没有问题,检查一下代码
是否session被close?
  • 打赏
  • 举报
回复
chenqiusheng 2006-04-16
兄弟,我是打了sp4补丁的!我都看过几遍hibernate.cfg.xml了,应该是没有问题的!
我的hibernate.cfg.xml原文件如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="myeclipse.connection.profile">myTry_sql</property>
<property name="connection.url">jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myDatabase</property>
<property name="connection.username">sa</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<mapping resource="com/genuitec/hibernate/Binformation.hbm.xml" />

</session-factory>

</hibernate-configuration>
各位兄弟帮我一下吗?谢谢了!
  • 打赏
  • 举报
回复
cheng_young 2006-04-16
应该是你的数据源配置不对,检查hibernate.cfg.xml
有两种配置方法:
1。使用tomcat的连接池,需要先在tomcat中配置好(假设为jdbc/northwind),再引用
  <property name="connection.datasource">java:comp/env/jdbc/northwind</property>
  <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>

2。直接配置
  <property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
  </property>
  
  <property name="connection.url">
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind
  </property>
  
  <property name="connection.username">sa</property>
  <property name="connection.password">password</property>

  <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>

另外,对SQL Server 2000,需要打sp3以上的补丁
  • 打赏
  • 举报
回复
chenqiusheng 2006-04-16
怎么没有人回答啊!着急啊!
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-04-16 01:27
社区公告
暂无公告