相关疑难解决方法(0)

如何查看HSQLDB数据库中的所有表?

我通常使用SQLDeveloper浏览数据库,但我无法使用hsqldb,我不知道哪些表已经创建...我想这是供应商特定的问题,而不是普通的sql,但重点是:我如何看到表格,以便我可以删除/更改它们?

sql hsqldb

39
推荐指数
2
解决办法
7万
查看次数

用于连接验证的简单DB2查询

我正在寻找一个简单的DB2查询,可用于测试池中的数据库连接是否仍然有效.它需要是一个通用查询,无论存在哪个数据库都会执行.

对于其他数据库服务器,我使用了'SELECT 1'或'SELECT version();'

什么是DB2的等价物?

谢谢!

sql db2

23
推荐指数
1
解决办法
2万
查看次数

mySQL:测试与查询的连接?

我正在编写一些单元测试,以确保我的应用程序中的所有内容都正常工作,并认为编写一个简短的测试脚本以确保mySQL连接按预期工作是个好主意.

有没有我可以运行的查询总是输出一些我可以验证连接的甜点,而不必考虑mySQL数据库中最终存储的数据?

mysql testing unit-testing

9
推荐指数
1
解决办法
2万
查看次数

无法验证新建立的连接

"无法验证新建立的连接"错误发生.

我用Google搜索并阅读与此错误相关的每个问题.但是没能找到解决方案.

我正在使用spring-boot-starter-data-jpa.

它与Postgresql没有任何错误.但我想使用嵌入式数据库!

application.properties:

#We don't need JMX here - disabling it allows for faster startup
spring.jmx.enabled=false
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop

spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.datasource.url=jdbc:hsqldb:file:${user.home}/db/data;user=sa;password=123;
spring.datasource.username=sa
spring.datasource.password=123
Run Code Online (Sandbox Code Playgroud)

MainApplication类的标题:

@ComponentScan(value = {"db", "app", "ui"})
@EnableJpaRepositories(basePackages = "db")
@EntityScan(basePackages = "db")
@EnableTransactionManagement
@SpringBootApplication
Run Code Online (Sandbox Code Playgroud)

仅当我使用嵌入式数据库(至少是Derby,HSQLDB)时才抛出此错误,而不是总是如此.有时它会正常启动,查找并保存实体而不会出现错误,但有时会在等待一段时间后或成功交易后立即发生.

我怎么解决这个问题?

java postgresql spring spring-data-jpa spring-boot

8
推荐指数
1
解决办法
1万
查看次数

Springboot 应用程序在数据库重启时失败

我们已经开发了一个 Springboot Java 应用程序,我把它放在一个用于开发环境的 docker 容器上。

Spring 启动版本为 1.5.6

使用的 DB 是 SQL server 2016,它再次位于 docker(windows 容器)上。

问题: 每当我重新启动 SQL DB 容器时,应用程序就会开始出现此错误。

2018-10-29 16:00:08,993 ERROR pool-13-thread-1  org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
        at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:431)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:447)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:277)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at …
Run Code Online (Sandbox Code Playgroud)

java spring-boot

5
推荐指数
1
解决办法
3223
查看次数

为什么我们的连接池关闭?

我们在Windows Server 2008 R2上运行的Apache Tomcat 7.0.54上运行了一个JSF2.0 Web服务器.我们在运行它的机器上有2个SQL服务器,另一个托管我们的库存软件.我们网页的一部分是对要添加的PartNumbers的验证.在阅读了连接池是与SQL服务器交谈的最佳实践之后,我们创建了一个并使用它来对我们的库存软件进行一些验证.

因为我想要一种方法来检查连接池的运行状况,所以我创建了一个带有ViewScoped辅助bean的测试页面,该辅助bean验证了2个已知的好的部件号.今天是本周第二次出现错误信息"Connection is closed".由于我是新来的conenction池,似乎无法找到任何有关这方面的信息,我感到困惑的是我们没有正确设置.我刚刚重置Apache服务器,它已备份并运行.所以..为了创建我的连接池,我在应用程序的META-INF/context.xml中添加了一些代码.

    <Resource type="javax.sql.DataSource"
        name="jdbc/FOODB"
        factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url="jdbc:sqlserver://Foobar\Inventory;databaseName=FooInventory;user=johnDoe;password=astrongpassword;"
    />
Run Code Online (Sandbox Code Playgroud)

我必须使用ConnectionPool的基本概念是我有一个名为SqlAccessCommand的接口.它或多或少是适配器模式.在我的测试页面中,我使用RunUnsafe方法,以便我可以显示错误消息.所以这是RunUnsafe方法.

protected static DataSource getDataSource() throws NamingException {
    Context context = (Context) new InitialContext().lookup("java:/comp/env");
    DataSource ds = (DataSource) context.lookup("jdbc/FOODB");
    return ds;
}
public static <T> T RunUnsafe(SqlAccessCommand<T> command) throws NamingException, SQLException {
    try {
        DataSource ds = getDataSource();
        try (Connection connection = ds.getConnection();
                PreparedStatement statement = connection.prepareStatement(command.getSqlStatement())) {
            command.prepareStatment(statement);
            try (ResultSet rs = statement.executeQuery()) {
                return command.getResults(rs);
            }
        }
    } catch (NamingException | …
Run Code Online (Sandbox Code Playgroud)

java sql-server jsf tomcat connection-pooling

3
推荐指数
1
解决办法
4448
查看次数