Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Ter Jun 15, 2010 10:02 am Assunto: "Key Violation." Msagem de erro imprecisa no CDS[Resolvido] |
|
|
Bom dia a todos!
Srs., estou diante do seguinte problema, toda vez que forço um erro de chave primaria ou de unique no firebird através de uma simples aplicação feita em delphi, retorna a mensagem de "Key violation.". Mais precisamente... "First chance exception at $7C812AEB. Exception class EDBClient with message 'Key violation.'. Process Project1.exe (3728)". Vejam que a mensagem não é qualificada. Ou seja, não me mostra se é uma violação de chave primária ou de unicidade. Se faço a simulação usando o IBExpert, a mensagem de erro é completa. Pesquisei, mas não encontrei nada que pudesse me ajudar. Já mudei o drive de conexão, tentei no delphi 2010, desinstalei o firebird e nada.
Estou usando:
- Delphi 2006 (Tentei no Delphi 2010)
- Firebird 2.0
- Drive UIB (No Delphi 2010 tentei com o drive Firebird)
Obs. Já criei outro BD e o problema continua.
Alguém já passou por isso ou teria alguma referência para que eu possa estudar o problema? _________________ Júnior Miranda
Analista de Sistemas.
Editado pela última vez por juniormiranda em Qui Jun 17, 2010 10:32 am, num total de 1 vez |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rogerbetti Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
Registrado: Quarta-Feira, 2 de Fevereiro de 2005 Mensagens: 1366 Localização: São Paulo/SP
|
Enviada: Ter Jun 15, 2010 10:28 am Assunto: |
|
|
tenta gravar direto sem o clientdataset pra ver o que retorna |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Ter Jun 15, 2010 10:55 am Assunto: |
|
|
rogerbetti escreveu: | tenta gravar direto sem o clientdataset pra ver o que retorna |
Obrigado pela atenção! Me desculpe por não ter mencionado! Eu já havia testado uma inserção direta usando SQL puro(Funciona perfeitamente). A questão é que eu queria entender o problema junto ao ClientDataset. Por que no ClientDataset, a mensagem não está retornando qualificada(Completa)?
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
rogerbetti Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
Registrado: Quarta-Feira, 2 de Fevereiro de 2005 Mensagens: 1366 Localização: São Paulo/SP
|
Enviada: Ter Jun 15, 2010 10:59 am Assunto: |
|
|
vc inseriu pela propriedade sqldirect do connection ou usou o sqldataset? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Ter Jun 15, 2010 11:11 am Assunto: |
|
|
rogerbetti escreveu: | vc inseriu pela propriedade sqldirect do connection ou usou o sqldataset? |
SqlQuery.
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
johnny-walker Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
![](images/avatars/2653151408207b54dc.gif)
Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Ter Jun 15, 2010 8:55 pm Assunto: |
|
|
Tentou utilizar o evento OnReconcielError ou a tela que o delphi fornece para tratar desteste tipos de erros...
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Qua Jun 16, 2010 8:41 am Assunto: |
|
|
johnny-walker escreveu: | Tentou utilizar o evento OnReconcielError ou a tela que o delphi fornece para tratar desteste tipos de erros...
bye |
Eu já trato o erro! na verdade, o que eu quero é compreender o porque do clientdataset está trazendo a mensagem de forma não qualificada('Key Violation.') ao invés de 'violation of PRIMARY or UNIQUE KEY constraint UNQ1_ENT_IPORTADMBOL" on table "ENT_IPORTADMBOL' por exemplo!
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
macario1983 Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
Registrado: Domingo, 1 de Novembro de 2009 Mensagens: 404
|
Enviada: Qua Jun 16, 2010 9:00 am Assunto: |
|
|
PlenusJunior escreveu: | johnny-walker escreveu: | Tentou utilizar o evento OnReconcielError ou a tela que o delphi fornece para tratar desteste tipos de erros...
bye |
Eu já trato o erro! na verdade, o que eu quero é compreender o porque do clientdataset está trazendo a mensagem de forma não qualificada('Key Violation.') ao invés de 'violation of PRIMARY or UNIQUE KEY constraint UNQ1_ENT_IPORTADMBOL" on table "ENT_IPORTADMBOL' por exemplo!
[]'s |
cara n sei
mas uma vez tive um problema semelhante
e ai usei o driver nativo interbase
pois estava q nem vc...
usando o uib
n sei se ajudara mas.... |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
gilsonnrodrigues Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qua Jun 16, 2010 9:06 am Assunto: |
|
|
Você não definiu algum índice no próprio CDS não? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Qua Jun 16, 2010 9:12 am Assunto: |
|
|
macario1983 escreveu: | PlenusJunior escreveu: | johnny-walker escreveu: | Tentou utilizar o evento OnReconcielError ou a tela que o delphi fornece para tratar desteste tipos de erros...
bye |
Eu já trato o erro! na verdade, o que eu quero é compreender o porque do clientdataset está trazendo a mensagem de forma não qualificada('Key Violation.') ao invés de 'violation of PRIMARY or UNIQUE KEY constraint UNQ1_ENT_IPORTADMBOL" on table "ENT_IPORTADMBOL' por exemplo!
[]'s |
cara n sei
mas uma vez tive um problema semelhante
e ai usei o driver nativo interbase
pois estava q nem vc...
usando o uib
n sei se ajudara mas.... |
No delphi 2010 eu testei usando o drive firebird e deu na mesma.
Citação: |
Você não definiu algum índice no próprio CDS não?
|
Não
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Qui Jun 17, 2010 10:33 am Assunto: |
|
|
A solução foi o par:
DisableConstraints e EnableConstraints
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
macario1983 Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
Registrado: Domingo, 1 de Novembro de 2009 Mensagens: 404
|
Enviada: Seg Jun 21, 2010 10:11 am Assunto: |
|
|
PlenusJunior escreveu: | A solução foi o par:
DisableConstraints e EnableConstraints
[]'s |
como assim chefe?
vc fez isso via componente ou codigo?
eu tb tive este problema tb...qd tentei usar o uib 1.5 no delphi
e o 2010 tb...
valeu |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Seg Jun 21, 2010 11:00 am Assunto: |
|
|
macario1983 escreveu: | PlenusJunior escreveu: | A solução foi o par:
DisableConstraints e EnableConstraints
[]'s |
como assim chefe?
vc fez isso via componente ou codigo?
eu tb tive este problema tb...qd tentei usar o uib 1.5 no delphi
e o 2010 tb...
valeu |
Via código! Mas esqueça estas propriedades(para este problema em específico)! estas duas propriedades me deram uma falsa idéia de solução. Digo isto, baseado no que elas se propõem a fazer. Desabilitar temporariamente as constraints(caso constem no DataPacket) no lado cliente blá blá blá...
Para resolver de fato este problema, eu tinha duas opções:
1) Substituir o drive de conexão(Uib por Interbase por ex.);
2) Incluir o tratamento para esta excessão dentro da minha rotina(no ApplicationEvents).
Fiquei com a segunda opção! A questão era eu entender porque a mensagem exibida não era qualificada. Percebi que provavelmente, se trata da implementação no drive UIB.
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
macario1983 Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
Registrado: Domingo, 1 de Novembro de 2009 Mensagens: 404
|
Enviada: Seg Jun 21, 2010 11:12 am Assunto: |
|
|
PlenusJunior escreveu: | macario1983 escreveu: | PlenusJunior escreveu: | A solução foi o par:
DisableConstraints e EnableConstraints
[]'s |
como assim chefe?
vc fez isso via componente ou codigo?
eu tb tive este problema tb...qd tentei usar o uib 1.5 no delphi
e o 2010 tb...
valeu |
Via código! Mas esqueça estas propriedades(para este problema em específico)! estas duas propriedades me deram uma falsa idéia de solução. Digo isto, baseado no que elas se propõem a fazer. Desabilitar temporariamente as constraints(caso constem no DataPacket) no lado cliente blá blá blá...
Para resolver de fato este problema, eu tinha duas opções:
1) Substituir o drive de conexão(Uib por Interbase por ex.);
2) Incluir o tratamento para esta excessão dentro da minha rotina(no ApplicationEvents).
Fiquei com a segunda opção! A questão era eu entender porque a mensagem exibida não era qualificada. Percebi que provavelmente, se trata da implementação no drive UIB.
[]'s |
mas ai aparece o erro ainda? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
juniormiranda Experiente
![Experiente Experiente](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star4.gif)
![](images/avatars/868749946641dbdd3.jpg)
Registrado: Segunda-Feira, 13 de Fevereiro de 2006 Mensagens: 413
|
Enviada: Seg Jun 21, 2010 11:32 am Assunto: |
|
|
macario1983 escreveu: | PlenusJunior escreveu: | macario1983 escreveu: | PlenusJunior escreveu: | A solução foi o par:
DisableConstraints e EnableConstraints
[]'s |
como assim chefe?
vc fez isso via componente ou codigo?
eu tb tive este problema tb...qd tentei usar o uib 1.5 no delphi
e o 2010 tb...
valeu |
Via código! Mas esqueça estas propriedades(para este problema em específico)! estas duas propriedades me deram uma falsa idéia de solução. Digo isto, baseado no que elas se propõem a fazer. Desabilitar temporariamente as constraints(caso constem no DataPacket) no lado cliente blá blá blá...
Para resolver de fato este problema, eu tinha duas opções:
1) Substituir o drive de conexão(Uib por Interbase por ex.);
2) Incluir o tratamento para esta excessão dentro da minha rotina(no ApplicationEvents).
Fiquei com a segunda opção! A questão era eu entender porque a mensagem exibida não era qualificada. Percebi que provavelmente, se trata da implementação no drive UIB.
[]'s |
mas ai aparece o erro ainda? |
Caso uma excessão seja levantada por uma violação de chave, sim! Contudo, retorno para o usuário, uma mensagem mais amigável.
[]'s _________________ Júnior Miranda
Analista de Sistemas. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|