Página 1 de 1

Error de inserción en MariaDB cuando más de un usuario ejecuta la tarea al mismo tiempo.

Publicado: Mié Ago 16, 2023 12:16 am
por ricardo
Hola a todos,

Cuando los usuarios ejecutan el fragmento de código al mismo tiempo, aparece el siguiente mensaje de error.

Código: Seleccionar todo

          For ContEscalas := 1 To Len(aryEscala)

            strData := StrZero(Year(aryEscala[ContEscalas, 01]), 4) + '-' + StrZero(Month(aryEscala[ContEscalas, 01]), 2) + '-' + StrZero(Day(aryEscala[ContEscalas, 01]), 2)

            Application:oMainForm:oMariaDB:Execute( 'Insert INTO movimentacoes( data, tipo, codposto, codescala, codcolabprog, HE, HSI1, HRI1, HSI2, HRI2, HSI3, HRI3, HS) ' +;
                                                            'values ("' + strData + '", ' +;
                                                                    AllTrim(Str(aryEscala[ContEscalas, 02])) + ', ' + ;
                                                                    AllTrim(Str(::oPostos:codigo)) + ', ' + ;
                                                                    AllTrim(Str(::oEscalas:codigo)) + ', ' + ;
                                                                    AllTrim(Str(::oPostos:codcolaborador)) + ', ' + ;
                                                                    '"' + aryEscala[ContEscalas, 03] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 04] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 05] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 06] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 07] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 08] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 09] + '", ' +;
                                                                    '"' + aryEscala[ContEscalas, 10] + '")' )

          Next ContEscalas
WhatsApp Image 2023-08-11 at 10.14.40.jpeg
WhatsApp Image 2023-08-11 at 10.14.40.jpeg (61.95 KiB) Visto 6264 veces
agradezco la atencion

Re: Error de inserción en MariaDB cuando más de un usuario ejecuta la tarea al mismo tiempo.

Publicado: Mié Ago 16, 2023 6:48 am
por Hurricane
Olá,
você esta usando transaction?

Código: Seleccionar todo

oMariaDB:BeginTrans()
oMariaDB:Execute( 'Insert ...
oMariaDB:CommitTrans()
obs: Prefira usar oMariaDB:BuildSQLSt( 'INSERT.... ?....?', {value1, value2, value3} ) para não precisar converter os valores, é mais prático e legível.
ricardo escribió: Mié Ago 16, 2023 12:16 am Cuando los usuarios ejecutan el fragmento de código al mismo tiempo, aparece el siguiente mensaje de error.

Re: Error de inserción en MariaDB cuando más de un usuario ejecuta la tarea al mismo tiempo.

Publicado: Mié Ago 16, 2023 3:13 pm
por ricardo
Olá Hurricane,

Nesse trecho de código não estou usando Transaction.
Obrigado pela sugestão de usar BuildSQLSt, vou olhar a sintaxe e implementar.

Re: Error de inserción en MariaDB cuando más de un usuario ejecuta la tarea al mismo tiempo.

Publicado: Lun Ago 21, 2023 1:36 am
por Hurricane
Olá,
resolveu seu problema com Begin/Commit?
ricardo escribió: Mié Ago 16, 2023 3:13 pm Nesse trecho de código não estou usando Transaction.