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.

Conexión a H2 con PostgreSQL ODBC Driver

Inicio de H2 correctamente en modo servidor

C:\Program Files (x86)\H2\bin>java -cp h2-2.0.206.jar org.h2.tools.Server -baseDir ~
El servidor TCP se está ejecutando en tcp://192.168.175.165:9092 (solo conexiones locales)
El servidor PG se está ejecutando en pg://192.168.175.165:5435 (solo conexiones locales)
El servidor Web Console se está ejecutando en http://192.168.175.165:8082 (solo conexiones locales)

Sin embargo, no es posible conectarse usando la última versión del controlador ODBC de PostgreSQL 13.02

Obtengo este mensaje de error:

Error SQL. Código nativo: 110, SQLState: 42001, Código de retorno: -1
ERROR: Error de sintaxis en la instrucción SQL "set extra_float_digits[*] = 2"; se esperaba "@, AUTOCOMMIT, EXCLUSIVE, IGNORECASE, PASSWORD, SALT, MODE, DATABASE, COLLATION, CLUSTER, DATABASE_EVENT_LISTENER, ALLOW_LITERALS, DEFAULT_TABLE_TYPE, SCHEMA, CATALOG, SCHEMA_SEARCH_PATH, JAVA_OBJECT_SERIALIZER, IGNORE_CATALOGS, SESSION, TRANSACTION, TIME, NON_KEYWORDS, DEFAULT_NULL_ORDERING, LOG, STATEMENT_TIMEOUT, CLIENT_ENCODING, CLIENT_MIN_MESSAGES, JOIN_COLLAPSE_LIMIT, DATESTYLE, SEARCH_PATH"; Instrucción SQL:
SET extra_float_digits = 2 [42001-206]
DETALLE: org.h2.jdbc.JdbcSQLSyntaxErrorException: Error de sintaxis en la instrucción SQL "set extra_float_digits[*] = 2"; se esperaba "@, AUTOCOMMIT, EXCLUSIVE, IGNORECASE, PASSWORD, SALT, MODE, DATABASE, COLLATION, CLUSTER, DATABASE_EVENT_LISTENER, ALLOW_LITERALS, DEFAULT_TABLE_TYPE, SCHEMA, CATALOG, SCHEMA_SEARCH_PATH, JAVA_OBJECT_SERIALIZER, IGNORE_CATALOGS, SESSION, TRANSACTION, TIME, NON_KEYWORDS, DEFAULT_NULL_ORDERING, LOG, STATEMENT_TIMEOUT, CLIENT_ENCODING, CLIENT_MIN_MESSAGES, JOIN_COLLAPSE_LIMIT, DATESTYLE, SEARCH_PATH"; Instrucción SQL:
SET extra_float_digits = 2 [42001-206]

Parece que el controlador está intentando ejecutar algunas sentencias SQL al conectarse al servidor y cuando falla, falla la conexión. ¿Hay alguna opción para agregar al origen de datos ODBC para omitir la ejecución de la SQL que está causando el fallo de la conexión?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el último controlador ODBC 13.02 de PostgreSQL está encontrando un error de sintaxis en la instrucción SQL “set extra_float_digits[*] = 2” mientras intenta conectarse al servidor H2 que se inició en el modo especificado en el fragmento de código proporcionado. Este error de sintaxis está causando que la conexión falle.

    Para resolver este problema, se puede intentar agregar una opción al origen de datos ODBC para omitir la ejecución de la instrucción SQL que está causando que la conexión falle. También puede ser útil revisar la documentación del controlador ODBC de PostgreSQL para ver si hay problemas conocidos relacionados con la conexión a un servidor H2.

    Además, puede ser conveniente verificar si la sintaxis de la instrucción SQL que está causando el error es correcta y si hay problemas de compatibilidad al utilizarla con el controlador ODBC de PostgreSQL. Si es necesario, se pueden utilizar otras instrucciones SQL o construcciones de lenguaje alternativas.

    En general, será importante investigar la causa del error de sintaxis y tomar medidas apropiadas para asegurar que el controlador ODBC de PostgreSQL pueda conectarse exitosamente al servidor H2.

Comments are closed.