es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , , ,

Answer

  1. Avatar for 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étodo isValid 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 archivo application.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.

Comments are closed.