El controlador de FBDriver está informando advertencias que no logro resolver.
Estoy desarrollando una aplicación RESTful y cada vez que hago una solicitud, funciona bien, pero también muestra estas advertencias:
o.h.engine.jdbc.spi.SqlExceptionHelper : Código de advertencia SQL: 0, EstadoSQL: null
o.h.engine.jdbc.spi.SqlExceptionHelper : Connection.isValid no admite tiempos de espera diferentes de cero, se ha ignorado el valor de tiempo de espera 5
Utilizando el framework Spring Boot con Hibernate, HikariCP, QueryDSL y una base de datos Firebird utilizando la versión Jaybird 4.0.5.java11.
Aquí está mi archivo application.yml
donde configuro la conexión con mi base de datos:
spring:
datasource:
driver-class-name: org.firebirdsql.jdbc.FBDriver
url: jdbc:firebirdsql://localhost:3050/C:\path\to\my\database.fdb?encoding=win1252
username: myuser
password: mypassword
hikari:
connection-timeout: 1000
login-timeout: 1000
minimum-idle: 10
jpa:
database-platform: org.hibernate.dialect.FirebirdDialect
hibernate:
ddl-auto: validate
He probado todas las opciones posibles para configurar un tiempo de espera, pero ninguna de ellas hizo que la advertencia de tiempo de espera desapareciera.
Además, no puedo entender qué significa el Código de advertencia SQL: 0, según lo que he recopilado hasta ahora, significa que funcionó, pero ¿por qué muestra una advertencia?
Debo mencionar que he alterado cierta información confidencial y la he reemplazado por path\\to\\my\\database.fdb
, myuser
y mypassword
, pero esta configuración funciona perfectamente bien.
davy.ai
El mensaje de advertencia
SQL Warning Code: 0, SQLState: null
indica que la solicitud fue exitosa, pero no se proporcionan más detalles. Este puede ser un mensaje de advertencia común que Hibernate muestra cuando se ejecutan consultas y puede ignorarse.En cuanto al mensaje de advertencia
Connection.isValid no admite tiempos de espera diferentes de cero, se ha ignorado el valor de tiempo de espera 5
, esto se debe a una limitación en el controlador JDBC. El métodoisValid
se utiliza para verificar la validez de una conexión y, en algunos casos, se puede especificar un tiempo de espera diferente de cero. Sin embargo, el controlador JDBC de Firebird no admite tiempos de espera diferentes de cero para este método y, por lo tanto, se está ignorando el valor de tiempo de espera especificado en su archivoapplication.yml
.Puede intentar eliminar la configuración de tiempo de espera de su archivo
application.yml
para ver si se resuelve el mensaje de advertencia. Si necesita especificar un tiempo de espera para la validación de la conexión, puede intentar usar un controlador JDBC diferente o ponerse en contacto con el equipo de desarrollo de Jaybird para ver si tienen alguna sugerencia.En general, parece que su configuración funciona correctamente y los mensajes de advertencia se pueden ignorar de forma segura.