2016-12-06 67 views
0

连接到Interbase DB时,我很难让Hibernate Session工作。我可以通过JDBC连接到数据库,但我不确定为什么我的会话在尝试连接到Interbase时未能实例化。Interbase DB:无法创建请求的服务:休眠会话

这里是我的方法的提取物来连接到Interbase的:

database connection: 
URL configLoc = this.getClass().getResource("/resources/hibernate.cfg.xml"); 
Properties props = new Properties(); 
try { 
    databaseName = "jdbc:interbase://v-ib/e:/db/44june.gdb"; 
    configuration = new Configuration().configure(configLoc); 
    configuration.setProperty("hibernate.connection.url", databaseName); 
    configuration.setProperty("hibernate.connection.username", "HOST"); 
    configuration.setProperty("hibernate.connection.password", "HOST"); 
    try{ 
     sessionFactory = configuration.buildSessionFactory(); 
    } catch (Exception e2){ 
    System.out.println(e2.getMessage()); 
    } 
    } 
} 
database = sessionFactory.createEntityManager(); 

...这是我的hibernate.cfg.xml:

Hibernate.cfg.xml : 

<hibernate-configuration> 
<session-factory> 
    <property  
    name="hibernate.dialect">org.hibernate.dialect.InterbaseDialect</property> 
    <property 
name="hibernate.connection.driver_class">interbase.interclient.Driver</property> 
<property name="hibernate.show_sql">true</property> 
<property name="hibernate.connection.pool_size">1</property> 
<property name="hibernate.jdbc.use_scrollable_resultset">true</property>  

当我运行代码,尝试构建会话的线路上会引发异常工厂:

configuration.buildSessionFactory();

和这里的例外:

Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

回答

0

我怀疑这是失败是从遗留代码遗留下来的一些设置的原因。我可以收集的最好的是Interbase类和方言没有从hibernate.cfg.xml正确加载。向try {}块中添加以下行似乎有诀窍:

String dialect = "org.hibernate.dialect.InterbaseDialect"; 
String driverClass = "interbase.interclient.Driver"; 
configuration.setProperty("hibernate.connection.dialect", dialect); 
configuration.setProperty("hibernate.connection.driver_class", 
    driverClass);