如何解决SQLServerException:故障转移后,连接已关闭,并且不会自动重新连接到辅助数据库
我有一个springboot应用程序,它正在连接到Azure SQL数据库。而且我想设置Azure SQL Server的自动故障转移。
我在A区具有单个数据库(“ demo”)的主sql server1 ( server1.database.windows.net )。 然后,通过在区域B中为同一数据库创建一个辅助服务器2 ( server2.database.windows.net ),为服务器1设置自动故障转移组。>
当前使用以下JDBC连接字符串进行配置:
jdbc:sqlserver://<my-failover-group-name>:1433;database=demo;encrypt=true;trustServerCertificate=false;loginTimeout=30;applicationIntent=ReadWrite;
Hikari CP 具有能够使用上述连接字符串连接到我的主数据库的连接,但是当我在azure门户上进行手动故障转移时,数据库连接应自动重新连接到已成为现在是主要的,但我不断收到以下异常:-
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
- mssql-jdbc版本:-8.2.2.jre8
- Springboot版本:-2.2.2。发布
解决方法
在application.properties文件中:
在username
属性中,您可以删除@server1
或@server2
。这样,当我们进行手动故障转移时,我们的spring-boot应用程序将自动连接到故障转移组,而不会出现错误。
我尝试了几次,都成功了。
logging.level.org.springframework.jdbc.core=DEBUG
spring.datasource.url=jdbc:sqlserver://<FailoverGroupname>.database.windows.net:1433;database=<DatabaseName>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=joseph
spring.datasource.password=***
spring.datasource.initialization-mode=always
更新: 我的application.property如下:
logging.level.org.springframework.jdbc.core=DEBUG
spring.datasource.url=jdbc:sqlserver://<FailoverGroupName>.database.windows.net:1433;database=<DatabaseName>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=joseph
spring.datasource.password=<password>
spring.datasource.initialization-mode=always
# Hikari will use the above plus the following to setup connection pooling
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。