2014-08-27 59 views
0

连接到HSQL DB我开始HSQL DB与Maven插件(我用的是DB在集成测试):从春天

<plugin> 
    <groupId>com.btmatthews.maven.plugins.inmemdb</groupId> 
    <artifactId>inmemdb-maven-plugin</artifactId> 
    <version>1.4.3</version> 
    <configuration> 
     <monitorKey>inmemdb</monitorKey> 
     <monitorPort>11527</monitorPort> 
    </configuration> 
    <executions> 
     <execution> 
      <id>run</id> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      <phase>pre-integration-test</phase> 
      <configuration> 
       <daemon>true</daemon> 
       <type>hsqldb</type> 
       <database>MY_DB</database> 
       <username>user1</username> 
       <password>111</password> 
      </configuration> 
     </execution> 
     <execution> 
      <id>stop</id> 
      <goals> 
       <goal>stop</goal> 
      </goals> 
      <phase>post-integration-test</phase> 
     </execution> 
    </executions> 
</plugin> 

当数据库运行起来,我能够创建一个JDBC连接:

Class.forName("org.hsqldb.jdbcDriver"); 
Connection connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001/MY_DB", "sa", ""); 
System.out.print(connection); 

此代码打印:[email protected]

然而,当我尝试使用相同的连接设置来配置在Spring数据源,我得到一个异常(java.net.ConnectException: Connection refused):

<bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" /> 
    <property name="url" value="jdbc:hsqldb:hsql://localhost:9001/MY_DB" /> 
    <property name="username" value="sa" /> 
    <property name="password" value="" /> 
</bean> 

我也试过usernameuser1password111,它产生另一个例外:org.hsqldb.HsqlException: invalid authorization specification - not found: user1

如何从Spring连接到此DB?

+0

春天你到底在做什么?请发布相关代码。 – 2014-08-27 12:11:55

+1

你是否有机会用Spring启动数据库?也许它已经不起来了。 – 2014-08-27 12:12:48

+0

@Darshan在Spring配置中,我声明了我在我的问题中提供的数据源。然后我声明一个引用数据源的'LocalContainerEntityManagerFactoryBean'。当Spring试图创建它们时,这些bean会抛出异常。 – Alex 2014-08-27 12:25:21

回答