此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【yan518】截止到2008-07-10 17:30:49的历史汇总数据(不包括此帖):
发帖的总数量:3                        发帖的总分数:40                       每贴平均分数:13                       
回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:2                        结贴的总分数:20                       
无满意结贴数:1                        无满意结贴分:20                       
未结的帖子数:1                        未结的总分数:20                       
结贴的百分比:66.67 %               结分的百分比:50.00 %                  
无满意结贴率:50.00 %               无满意结分率:100.00%                  
楼主加油

解决方案 »

  1.   

    连接不上数据库,检查下MSSQL的端口1433有没有开。
      

  2.   

    1433开了。
    问题在于hibernate连接MSSQL2000大概10个小时后出现
    StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
    org.hibernate.exception.JDBCConnectionException: Cannot open connection 
      

  3.   

    有没有用spring,有的话在applicationContext.xml中配置
    c3p0 sqlserver2000连接池试一下,其中特别注意的是''driverClass' , 'jdbcUrl', 'user' , 'password'区分大小写 ,并且要把c3p0-0.9.1-pre6.jar放到classpath中;1.sqlserver2000<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <!-- Hibernate SessionFactory -->
        <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource">
                <ref local="dataSource" />
            </property>
            <property name="mappingResources">
                <list>
                    <value>com/oy/image/model/LoginUser.hbm.xml</value>
                </list>
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                    <prop key="hibernate.show_sql">true</prop>
                    <prop key="hibernate.generate_statistics">true</prop>
                    <prop key="hibernate.connection.release_mode">auto</prop>
                    <prop key="hibernate.autoReconnect">true</prop>
                </props>
            </property>
        </bean>  <bean id="dataSource"
            class="com.mchange.v2.c3p0.ComboPooledDataSource"
            destroy-method="close">
            <property name="driverClass">
                <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
            </property>
            <property name="jdbcUrl">
                <value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=users</value>
            </property>
            <property name="user">
                <value>bruce</value>
            </property>
            <property name="password">
                <value>bruce</value>
            </property>
     
     <!--连接池中保留的最小连接数。-->
            <property name="minPoolSize">
                <value>5</value>
            </property>
     
     <!--连接池中保留的最大连接数。Default: 15 -->
            <property name="maxPoolSize">
                <value>30</value>
            </property>
     
    <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
            <property name="initialPoolSize">
                <value>10</value>
            </property>
     
     <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
            <property name="maxIdleTime">
                <value>60</value>
            </property>
     
     <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
            <property name="acquireIncrement">
                <value>5</value>
            </property>
     
     <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
      属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
      如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
            <property name="maxStatements">
                <value>0</value>
            </property>
     
     <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
            <property name="idleConnectionTestPeriod">
                <value>60</value>
            </property>
     
     <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
            <property name="acquireRetryAttempts">
                <value>30</value>
            </property>
     
     <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
      保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
      获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->
            <property name="breakAfterAcquireFailure">
                <value>true</value>
            </property>
     
     <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
      时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
      等方法来提升连接测试的性能。Default: false -->
            <property name="testConnectionOnCheckout">
                <value>false</value>
            </property>
        </bean>
     <bean id="imageDao" name="imageDao"
      class="com.oy.image.dao.hibernate.ImageDaoHibernate" abstract="false"
      lazy-init="default" autowire="default" dependency-check="default">
      <property name="sessionFactory">
       <ref bean="sessionFactory" />
      </property>
     </bean>
     <bean id="imageManager" name="imageManager"
      class="com.oy.image.service.impl.ImageManagerImpl" abstract="false"
      lazy-init="default" autowire="default" dependency-check="default">
      <property name="imageDao">
       <ref bean="imageDao" />
      </property>
     </bean>
     
    </beans>
      

  4.   

    我使用Spring+hibernate
    applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <!-- driver for Derby-->
            <property name="driverClassName">
                <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
            </property>
            <property name="url">
                <value>jdbc:microsoft:sqlserver://192.168.18.234:1433;databasename=CY</value>
            </property>
            <property name="username">
                <value>sa</value>
            </property>
            <property name="password">
                <value>123</value>
            </property>
            <!-- 初始化连接 -->
            <property name="initialSize">
                <value>20</value>
            </property>
            <!-- 最大连接数量 -->
            <property name="maxActive">
                <value>100</value>
            </property>
            <!-- 最大空闲连接 -->
            <property name="maxIdle">
                <value>30</value>
            </property>
            <!-- 最小空闲连接 -->
            <property name="minIdle">
                <value>10</value>
            </property>
            <!-- 是否在自动回收超时连接的时候打印连接的超时错误 -->
            <property name="logAbandoned">
                <value>true</value>
            </property>
            <!-- 是否自动回收超时连接 -->
            <property name="removeAbandoned">
                <value>true</value>
            </property>
            <!-- 超时时间(以s为单位) -->
            <property name="removeAbandonedTimeout">
                <value>20</value>
            </property>
            <!-- 超时等待时间(以ms为单位) -->
            <property name="maxWait">
                <value>1000</value>
            </property>
        </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.SQLServerDialect
    </prop>
    <!-- 
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
     -->
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>com/ssh/model/Tmodule.hbm.xml</value>
    <value>com/ssh/model/Tuser.hbm.xml</value>
    <value>com/ssh/model/Tarticle.hbm.xml</value></list>
    </property>
    </bean>
    <bean name="userdao" class="com.ssh.dao.UserDAO">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    </beans>
    这样配置有什么不对的地方 吗
      

  5.   

     <!-- driver for Derby--> 
            <property name="driverClassName"> 
                <value>com.microsoft.jdbc.sqlserver.SQLServerDriver </value> 
            </property> 
            <property name="url"> 
                <value>jdbc:microsoft:sqlserver://192.168.18.234:1433;databasename=CY </value> 
            </property> 
            <property name="username"> 
                <value>sa </value> 
            </property> 
            <property name="password"> 
                <value>123 </value> 
            </property> 
            <!-- 初始化连接 --> 
            <property name="initialSize"> 
                <value>20 </value> 
            </property> 
            <!-- 最大连接数量 --> 
            <property name="maxActive"> 
                <value>100 </value> 
            </property> 
            <!-- 最大空闲连接 --> 
            <property name="maxIdle"> 
                <value>30 </value> 
            </property> 
            <!-- 最小空闲连接 --> 
            <property name="minIdle"> 
                <value>10 </value> 你这后面都有空格 空格去掉试下
      

  6.   

    如果开始能运行就不是补丁问题,HIBERNATE的SESSION本身就是线程步安全的,只有在代码上事务处理多下功夫,要及时关闭SESSION,或者使用threadlocal解决,最好用SPRING的HIBERNATETEMPLETE
      

  7.   

    问题还是没有解决。换成c3p0也是一样。。郁闷死了。。
    不过这次是大概两三天后不能连接数据库。
    问下this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery()
    这句有什么问题没有。。
      

  8.   

    页面出现500错误
    java.sql.SQLException: An SQLException was provoked by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool
    com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
    com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
    com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)
    com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531)
    com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
    org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
    org.hibernate.loader.Loader.doQuery(Loader.java:673)
    org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    org.hibernate.loader.Loader.doList(Loader.java:2220)
    org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    org.hibernate.loader.Loader.list(Loader.java:2099)
    org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
    org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
    org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
    org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
    com.ssh.dao.UserDAO.login(UserDAO.java:34)
    com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:72)
    org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    com.ssh.API.EncodingFilter.doFilter(EncodingFilter.java:26)
      

  9.   

    数据库连接错误。有些环境会不支持
    <property name="driverClassName">
      <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </property>
      <property name="url">
      <value>jdbc:microsoft:sqlserver://192.168.18.234:1433;databasename=CY</value>
      </property>
      <property name="username">
      <value>sa</value>
      </property>
      <property name="password">
      <value>123</value>
    如果有子配置文件,你把数据库表名改到子培植文件中,我以前SQL遇到过就那样解决了