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

Foro público de Xailer en español
Responder
ricardo
Mensajes: 39
Registrado: Vie Jun 19, 2009 7:25 pm

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

Mensaje 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 1526 veces
agradezco la atencion
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

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

Mensaje 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.
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
ricardo
Mensajes: 39
Registrado: Vie Jun 19, 2009 7:25 pm

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

Mensaje 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.
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

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

Mensaje 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.
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
Responder