javaw -classpath F:\javadev\oraclejdbc\ocrs12.jar;F:\javadev\oraclejdbc\ojdbc14.jar;F:\javadev\oraclejdbc\ojdbc14dms.jar;F:\javadev\oraclejdbc\orai18n.jar;在jbuilder下运行输出了如上的trace,但结果连接数据库却失败了。通过hibernate连的(同样的代码连sqlserver成功了),报错为:4:06:09,859  INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
at testhibernate.Client2.main(Client2.java:32)
Caused by: java.sql.SQLException: Io 异常: SO Exception was generated
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:274)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:319)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)

解决方案 »

  1.   

    你用的是JNDI技术吗,ORacle驱动的jar文件放到Lib里就可以用了啊,不必安装的
      

  2.   

    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"><hibernate-configuration>
        <session-factory>
      <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
          <property name="connection.url">jdbc:oracle:thin://192.168.100.157/mybase</property>
          <property name="connection.username">name</property>
          <property name="connection.password">pass</property>      <!-- JDBC connection pool (use the built-in) -->
          <property name="connection.pool_size">1</property>   <!-- SQL dialect -->
           <property name="dialect">org.hibernate.dialect.OracleDialect</property>        <!-- Enable Hibernate's automatic session context management -->
            <property name="current_session_context_class">thread</property>        <!-- Disable the second-level cache  -->
            <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>      <property name="show_sql">true</property>
           <mapping resource="testhibernate/ActiveBean.hbm.xml"/>    </session-factory></hibernate-configuration>