Hello,
I am using the TDBC mysql driver. Maybe I'm not getting it but I can't
find how to retrieve the sql error message that a transaction returns.
That is, if I capture (for example, with catch) the error shows me all a
lot of data that, for practical purposes, it is too much information and
in English, of curse. Can the SQL code from the error be recovered?. In
this way, it could show a simpler message and in Spanish.
Example:
instead of show this ...
Cannot delete or update a parent row: a foreign key constraint fails (`xxxx_DB01`.`xxx`, CONSTRAINT `RI_xxid` FOREIGN KEY (`xxid`) REFERENCES `xx_xxx` (`xxid`) ON UPDATE CASCADE)
because i received the error number 1451, i would show :
"No se puede borrar este blabla porque tiene bleble asociados"
Thanks,
Alejandro
Am 28.03.2025 um 03:02 schrieb Luis Alejandro Muzzachiodi:Hello Harald,
Hello,
I am using the TDBC mysql driver. Maybe I'm not getting it but I can't
find how to retrieve the sql error message that a transaction returns.
That is, if I capture (for example, with catch) the error shows me all
a lot of data that, for practical purposes, it is too much information
and in English, of curse. Can the SQL code from the error be
recovered?. In this way, it could show a simpler message and in Spanish.
Example:
instead of show this ...
Cannot delete or update a parent row: a foreign key constraint fails
(`xxxx_DB01`.`xxx`, CONSTRAINT `RI_xxid` FOREIGN KEY (`xxid`)
REFERENCES `xx_xxx` (`xxid`) ON UPDATE CASCADE)
because i received the error number 1451, i would show :
"No se puede borrar este blabla porque tiene bleble asociados"
Thanks,
Alejandro
Alejandro,
I have no answer, sorry. The funny thing is, that TDBC defines the error codes for all rivers, but only the ODBC driver follows it.
But that is easy, as the TDBC error reporting is defined as to be the
same for all platforms.
At the end, I have a big driver-dependent if to catch some errors, I am intersted in (like "record exists" on insert).
Sorry for the non-related noise.
Consider to register a ticket in tdbc::mysql fossil. Massimo has
eventually more insights...
Harald
El 28/03/2025 a las 10:55, Harald Oehlmann escribió:
Am 28.03.2025 um 03:02 schrieb Luis Alejandro Muzzachiodi:Hello Harald,
Hello,
I am using the TDBC mysql driver. Maybe I'm not getting it but I
can't find how to retrieve the sql error message that a transaction
returns. That is, if I capture (for example, with catch) the error
shows me all a lot of data that, for practical purposes, it is too
much information and in English, of curse. Can the SQL code from the
error be recovered?. In this way, it could show a simpler message and
in Spanish.
Example:
instead of show this ...
Cannot delete or update a parent row: a foreign key constraint fails
(`xxxx_DB01`.`xxx`, CONSTRAINT `RI_xxid` FOREIGN KEY (`xxid`)
REFERENCES `xx_xxx` (`xxid`) ON UPDATE CASCADE)
because i received the error number 1451, i would show :
"No se puede borrar este blabla porque tiene bleble asociados"
Thanks,
Alejandro
Alejandro,
I have no answer, sorry. The funny thing is, that TDBC defines the
error codes for all rivers, but only the ODBC driver follows it.
But that is easy, as the TDBC error reporting is defined as to be the
same for all platforms.
At the end, I have a big driver-dependent if to catch some errors, I
am intersted in (like "record exists" on insert).
Sorry for the non-related noise.
Consider to register a ticket in tdbc::mysql fossil. Massimo has
eventually more insights...
Harald
i've created a ticket.
I hope it can be implemented, if I can help, I will be happy to.
Saludos,
Alejandro
Am 29.03.2025 um 02:52 schrieb Luis Alejandro Muzzachiodi:
El 28/03/2025 a las 10:55, Harald Oehlmann escribió:
Am 28.03.2025 um 03:02 schrieb Luis Alejandro Muzzachiodi:Hello Harald,
Hello,
I am using the TDBC mysql driver. Maybe I'm not getting it but I
can't find how to retrieve the sql error message that a transaction
returns. That is, if I capture (for example, with catch) the error
shows me all a lot of data that, for practical purposes, it is too
much information and in English, of curse. Can the SQL code from the
error be recovered?. In this way, it could show a simpler message
and in Spanish.
Example:
instead of show this ...
Cannot delete or update a parent row: a foreign key constraint fails
(`xxxx_DB01`.`xxx`, CONSTRAINT `RI_xxid` FOREIGN KEY (`xxid`)
REFERENCES `xx_xxx` (`xxid`) ON UPDATE CASCADE)
because i received the error number 1451, i would show :
"No se puede borrar este blabla porque tiene bleble asociados"
Thanks,
Alejandro
Alejandro,
I have no answer, sorry. The funny thing is, that TDBC defines the
error codes for all rivers, but only the ODBC driver follows it.
But that is easy, as the TDBC error reporting is defined as to be the
same for all platforms.
At the end, I have a big driver-dependent if to catch some errors, I
am intersted in (like "record exists" on insert).
Sorry for the non-related noise.
Consider to register a ticket in tdbc::mysql fossil. Massimo has
eventually more insights...
Harald
i've created a ticket.
I hope it can be implemented, if I can help, I will be happy to.
Saludos,
Alejandro
Great !
https://core.tcl-lang.org/tdbcmysql/info/3eaf36b1491ec71d
Wizard Christian Werner already answered and gave an idea.
Take care,
Harald
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,028 |
Nodes: | 10 (0 / 10) |
Uptime: | 146:29:47 |
Calls: | 13,330 |
Files: | 186,574 |
D/L today: |
2,075 files (550M bytes) |
Messages: | 3,355,685 |