[firebase-br] Firebird-Exceptions

Carlos H. Cantu listas em warmboot.com.br
Qua Dez 24 10:46:16 -03 2014


Me parece que o Firebird 3 faz isso.

Em versões anteriores, talvez vc possa contornar a situação através de
alguma gambiarra, como usar uma procedure para inserir as informações,
e ela capturaria a exceção e retornaria a PK que estava sendo
inserida.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

MR> Prezado Cantú,

MR> Esta é uma questão que me aflige há algum tempo e tem a ver com a passagem
MR> de informação util ao cliente no0 front-end.
MR> Haverá alguma forma de, quando tratamos a excepção retornar ao cliente
MR> qual a Primary Key (ou Unique Key) duplicada?
MR> Quando tratamos inputs registo de um ID CARD qualquer isso não é 
MR> importante porque é aquela chave que estamos a querer introduzir que está
MR> repetida mas, ainda assim, ajudaria dizer que é no registo N.º tal. 
MR> Porém, o mesmo não acontece quando tratamos ficheiros/dados em batch onde
MR> é levantada uma excepção sem que seja possível dizer ao qual o registo
MR> relativo ou a chave que a está gerando o erro, sendo que acredito que no
MR> Core do FB há-de haver uma maneira de saber-se qual é essa chave repetida
MR> ou/e esse regsto relativo já que de outro mado a excepçãonão seria 
MR> levantada. Certo?
MR> E, sendo possível isso seria uma ajuda tremenda para quem tem de tratar
MR> processamento de ficheiros em batch de milhares de registos, porque aí
MR> você poderia escrever num log seu que a chave "A1B2C3" está repetida e é o
MR> registo xpto, ou mesmo na mensagem destinada ao utilizador que a chave tal
MR> já existe e é o registo tal.
MR> Espero que tenha conseguido fazer-me entender e que V. possa ajudar a 
MR> n/comunidade.
MR> Obrigado

MR> Mário Reis


MR> ______________________________________________
MR> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MR> Para saber como gerenciar/excluir seu cadastro na lista, use:
MR> http://www.firebase.com.br/fb/artigo.php?id=1107
MR> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista