¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo solucionar el problema de milisegundos en PowerBuilder al conectarse a MySQL

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 16 Vistas
0
Cargando...

Hi,

PB (Classic 12.5.1 4595) no parece estar observando el parámetro DateTime= de la base de datos al conectarse al Conector ODBC de Mysql por encima de la versión 5.1.10. Tampoco observará PBDateTimeFmt en PBODB125.ini.

Cada actualización de una columna de fecha y hora residirá en un error porque mysql no acepta los milisegundos proporcionados por Powerbuilder.

¿Hay alguna posibilidad de forzar a PB a no enviar milisegundos durante inserciones y actualizaciones?

Además, PB está escribiendo "_latin1" antes de cada fecha y hora. Por ejemplo, un script de actualización capturado con la función de registro de odbc proveniente de PB12.5 nativo:

Me gustaría que PB creara una declaración de actualización que sea reconocida correctamente por la base de datos y no tengo suerte en absoluto.

Estoy seguro de que la sección en PBODB.INI es accedida, ya que si elimino mi sección de mysql, no se recuperan columnas de identidad.

Aquí las secciones correspondientes de mi pbodb.ini:

[MySQL] PBSyntax='MYSQL_SYNTAX'

PBDateTime='MYSQL_DATETIME'

[MYSQL_SYNTAX]

GetIdentity='Select @@identity'

[MYSQL_DATETIME]

PBDateFmt=' \'yyyy-mm-dd\''

PBTimeFmt=' \'hh:mm:ss\''

PBDateTimeFmt=' \'yyyy-mm-dd hh:mm:ss\''

¡Por favor ayuda! ¿Alguien? Sería sumamente apreciado.

Gracias

Peter Piechutzki

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Sin embargo, he notado un pequeño problema:

El uso del Conector ODBC Unicode 5.2.2 de MySQL me dio errores relacionados con "4bit" en tiempo de ejecución de PB y nuestra aplicación al trabajar con caracteres especiales alemanes (Umlaute äöüß). La solución fue sencilla, tuve que quitar CHARSET=utf8 de la configuración del conector ODBC.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡Consejos geniales para configuraciones!

Y la pregunta de Helmut sobre una solución a largo plazo también fue respondida.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡Gracias Arnd, me salvaste el día!

PB parece ignorar la configuración de formato cuando "Desactivar Bind" no está establecido o está en 0. Ahora estoy probando nuestra aplicación con "OJSyntax='ANSI', DisableBind=1" en la cadena de conexión de la base de datos. Hasta ahora no he notado ninguna desventaja al usar esta configuración.

También he leído sobre la adición de segundos fraccionarios en MySQL Server 5.6. Aunque todavía está en estado de "candidato de lanzamiento", así que no querría usarlo en un entorno de producción. Quería experimentar y probar, pero al menos en mi win7/64 tuve problemas y el servidor mysql 5.6 ni siquiera se instalaba. Aún no he tenido tiempo de examinar la causa.

Para aquellos interesados, también utilizamos los siguientes ajustes para el Conector ODBC de MySQL, que en nuestra opinión conducen a los mejores resultados entre PB y MySQL:

Permitir grandes conjuntos de resultados BIG_PACKETS=1

No utilizar INFORMATION_SCHEMA para metadatos NO_IS = 1

Conjunto de caracteres UTF8 CHARSET=utf8

No almacenar en caché los resultados de cursores de solo avance NO_CACHE=1

Forzar el uso de cursores de solo avance FORWARD_CURSOR=1

Habilitar opciones seguras SAFE=1

Ignorar espacio después de los nombres de funciones IGNORE_SPACE=1

¡NO_IS acelera mucho la apertura de DW's en PB Classic!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Parece que PowerBuilder solo utiliza los formatos cuando se establece "Desactivar Vinculación".

De lo contrario, utiliza la vinculación y si tu valor de fecha y hora incluye fracciones de segundos, obtendrás un error.

Como en tu ejemplo.

Así que asegúrate de que tus valores de fecha y hora no tengan ninguna fracción.

La buena noticia es:

El soporte para segundos fraccionarios se agregó a timestamp y datetime en MySQL 5.6.

Por lo tanto, los problemas deberían estar resueltos.

¿O ya estás utilizando MySQL 5.6 Server?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?