Ir al contenido
Claro
Español

Problemas y soluciones

Posibles problemas con la conexión Firebird 3.0

Sección titulada «Posibles problemas con la conexión Firebird 3.0»

Al conectarse a la base de datos de Firebird en la versión 3.0, es posible que se muestre el siguiente error al intentar conectarse:

Captura da tela 1

Para resolver esto, es posible que necesite configurar el archivo firebird.conf ubicado en la carpeta de instalación de la base de datos (generalmente en el directorio C:\Program Files\Firebird\Firebird_3_0). Abra el archivo con un editor de texto y busque la línea que comienza con:#WireCrypt = y cámbiela a WireCrypt = Enabled.

Captura da tela 2

Después de realizar el cambio, debe reiniciar el servicio de base de datos. Ingrese a la opción Administrador de tareas, busque la instancia de la base de datos Firebird y reinicie.

Captura da tela 3

Una vez hecho esto, el sincronizador debería poder conectarse con el banco Firebird.

Captura da tela 4

La inserción de datos en Firebird 2.5 no completa el comando

Sección titulada «La inserción de datos en Firebird 2.5 no completa el comando»

Al ejecutar un insert SQL en la base de datos de Firebird el comando no se completa dejando el sincronizador como si estuviera bloqueado

Captura da tela 5

Para solucionar esto, necesitamos agregar el parámetro a la cadena de conexión: ?useFirebirdAutocommit=true“

Captura da tela 6

Manejo de problemas de caracteres entre la recepción y la base de datos

Sección titulada «Manejo de problemas de caracteres entre la recepción y la base de datos»

Si tienes un problema de formato de caracteres basado en UTF8, ANSI u otros, la guía es colocar rutinas de conversión de UTF8 al formato deseado en el comando INSERT que se ejecuta en la base de datos. En el caso de SQLSERVER con Ansi, marque el ejemplo en la imagen a continuación.

Captura da tela 7

No se pudo conectar a la base de datos. Error: el controlador no pudo establecer una conexión segura con SQL Server

Sección titulada «No se pudo conectar a la base de datos. Error: el controlador no pudo establecer una conexión segura con SQL Server»

No se pudo conectar a la base de datos. Error: el controlador no pudo establecer una conexión segura con SQL Server mediante el cifrado Secure Sockets Layer (SSL). Error: “La versión del protocolo TLS10 seleccionada por el servidor no es aceptada por las preferencias del cliente [TLS12]”. ID de conexión del cliente: d3ddc8c2-e973-4092-9195-7e473f217380

Captura da tela 8

Solución:

https://stackoverflow.com/questions/67246010/the-server-selected-protocol-version-tls10-is-not-accepted-by-client-preferences

No se pudo conectar a la base de datos: Error Se recibió el índice del conjunto de caracteres inicial desconocido ‘255’ del servidor. El juego de caracteres inicial del cliente se puede forzar mediante la propiedad ‘characterEncodin’.

Sección titulada «No se pudo conectar a la base de datos: Error Se recibió el índice del conjunto de caracteres inicial desconocido ‘255’ del servidor. El juego de caracteres inicial del cliente se puede forzar mediante la propiedad ‘characterEncodin’.»

Captura da tela 9

Captura da tela 10

Solución:

¿Agregar al final de la cadena de conexión?characterEncoding=utf8

Captura da tela 11

Al actualizar a Firebird 5.0, identificamos que algunos SQL que funcionaban normalmente en versiones anteriores comenzaron a mostrar errores. Esto se debió a cambios significativos en el mecanismo interno para manejar y validar tipos de datos en la nueva versión.

Al igual que en ERP, en Synchronizer también es necesario realizar ajustes en las consultas, especialmente las que involucran conversiones numéricas.

Error mostrado

El error más común es:

El tipo SQL para este campo aún no es compatible.

Este problema suele estar relacionado con conversiones a tipos del patrón NUMERIC(10,2) o similar.

Cómo lo solucionamos

Según los casos que ya hemos enfrentado, las correcciones implicaron dos enfoques principales:

1. Ajustar la cadena de conexión

Agregue explícitamente COLLATION y DIALECT en la cadena de conexión para garantizar la compatibilidad con la base de datos.

jdbc:firebirdsql:localhost/3050:C:\PATH\BANK.FDB?charSet=UTF-8&sql_dialect=3

2. Cambiar conversiones numéricas a DOBLE PRECISIÓN

En varios escenarios, las conversiones a NUMÉRICO o DECIMAL comenzaron a generar un error. La solución fue sustituirlo por DOBLE PRECISIÓN.

Antes:

SELECCIONAR

CAST(CAMPO COMO NUMÉRICO(15,4)) COMO NombreDeCampo

DESDE

MESA

Después:

SELECCIONAR

CAST(CAMPO COMO DOBLE PRECISIÓN) COMO NombreDeCampo

DESDE

MESA