无法验证新建立的连接
Posted
技术标签:
【中文标题】无法验证新建立的连接【英文标题】:Failed to validate a newly established connection 【发布时间】:2016-01-11 01:42:45 【问题描述】:出现“”错误。
我搜索并阅读了与此错误相关的每个问题。但是没找到解决办法。
我正在使用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
MainApplication 类的标题:
@ComponentScan(value = "db", "app", "ui")
@EnableJpaRepositories(basePackages = "db")
@EntityScan(basePackages = "db")
@EnableTransactionManagement
@SpringBootApplication
此错误仅在我使用嵌入式数据库(至少是 Derby、HSQLDB)时引发,并非总是如此。有时它会正常启动,查找并保存实体时不会出错,但有时会在等待一段时间后或在成功交易后立即发生。
我该如何解决这个问题?
【问题讨论】:
“这个错误……” 哪一个?将其添加到您的问题中。 对不起,这个错误是“” 【参考方案1】:在没有验证查询的情况下试一试。如果 HSQLDB 驱动程序与 JDBC4 兼容,它应该使用并使用 Connection.isValid(int timeout) 方法。
【讨论】:
我没有检查您的解决方案。无论如何感谢您的回答。【参考方案2】:您的验证查询是问题所在。虽然没有FROM
的SELECT 1
在Postgres
中有效,但在hsqldb 中无效。
请参阅answer,了解针对不同数据库的建议验证查询
【讨论】:
以上是关于无法验证新建立的连接的主要内容,如果未能解决你的问题,请参考以下文章
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法訪问server。请验证实例名称是否正确而且 SQL Server 已配置为同意远程连接。
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管
EntityFramework.SqlServer.dll 中发生 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否