blz, vou olhar, minha versão é 5.10.0.10 achei o problema, mas ainda vou tentar achar algo mais, pois dessa forma acredito que não vou poder ativar o Reconcilieerror para o ClientDataset da tabela de log.
----- Original Message ----- From: "Eduardo Silva dos Santos" <[EMAIL PROTECTED]> To: <delphi-br@yahoogrupos.com.br> Sent: Sunday, May 11, 2008 3:12 AM Subject: Re: [delphi-br] Delphi 2007 Com DBExpress com MYSQL 5 e MyDac Olá Otávio, que bom que achou o problema, fico feliz. quanto ao MyDAC, qual versão vc ta usando? caso estaja usando a Versão 5, de uma olhada no Help sobre o Pooling, melhora e muuito o desempenho, sem contar em outros recursos como o LocalFailOver e o DisconnectedModel. sucesso ae. 2008/5/11 Otavio <[EMAIL PROTECTED]>: > Legal a idéia de preparar um projeto para reproduzir o erro, fazendo > isso, > notei que ao inserir, alterar e excluir registros, estava tbem populando > uma > tabela de log, e era nela que estava dando o "Key Violation". > Então para a tabela de log usei o CommandText do ClientDataSet. > Fiz assim : > Na aplicação servidora: > // > TMyConnection <- MyConsulta(TMyQuery) <- dspMyConsulta(TDatasetProvider) > MyConsulta.Sql := ''; > <- MyGrupos(TMyQuery) <- > dspMyGrupos(TDatasetProvider) > MYgrupos.sql := 'select * from grupos > where _ativo = 1 order by _grupo limit 200' > <- MyLOGGrupos(TMyQuery) <- > dspMyLOGGrupos(TDatasetProvider) > MyLOGGrupos.Sql := 'select * from > grupos_log limit 200' > // > Na aplicação Cliente: > // > TSocketConnection <- cdsMyGrupos(TClientDataSet) <- > dsMyGrupos(TdataSource) > cdsMyGrupos.ProviderName := > dspMyGrupos; > <- cdsMyConsulta(TClientDataSet) > cdsMyConsulta.Providername := > dspMyConsulta; > // > no mais, dbGrid, buttons(salvar,incluir excluir etc.. Não é dbnavigator) e > dbedits. > // > > procedure TAFGrupos.bSalvarClick(Sender: TObject); > if cdsMyGrupos.State in [dsInsert] then > begin > // > cdsMyGrupos_data_cad.Value := date; > cdsMyGrupos_hora_cad.Value := time; > cdsMyGrupos_user_cad.Value := Vcod_Usuario; > cdsMyGrupos.ApplyUpdates(0); > //cdsMyGrupos > myLOGGruposInserir; > //inserir log > cdsMyGrupos.Refresh; > end; > if cdsMyGrupos.State in [dsEdit] then > begin > // > cdsMyGrupos_data_alt.Value := date; > cdsMyGrupos_hora_alt.Value := time; > cdsMyGrupos_user_alt.Value := Vcod_Usuario; > cdsMyGrupos.ApplyUpdates(0); > // > myLOGGruposAlterar; > //alterar log > end; > HabilitaBotoes; > end; > > procedure TAFGrupos.MyLOGGruposInserir; > var > sqlInserir : string; > begin > sqlInserir := 'insert into grupos_log' + > ' (_codigo,_ativo,_data_cad,_hora_cad, _user_cad,_grupo,' + > '_estado) values (' + > ':_codigo,' + > ':_ativo,' + > ':_data_cad,' + > ':_hora_cad,' + > ':_user_cad,' + > ':_grupo,' + > ':_estado' + > ')'; > with dm do > begin > cdsMyConsulta.CommandText := sqlInserir; > cdsMyConsulta.Params.ParamByName('_codigo').AsInteger := > cdsMyGrupos_codigo.AsInteger; > cdsMyConsulta.Params.ParamByName('_ativo').AsInteger := > cdsMyGrupos_ativo.AsInteger; > cdsMyConsulta.Params.ParamByName('_data_cad').AsDate := Date; > cdsMyConsulta.Params.ParamByName('_hora_cad').AsTime := Date; > cdsMyConsulta.Params.ParamByName('_user_cad').AsInteger := > cdsMyGrupos_user_cad.AsInteger; > cdsMyConsulta.Params.ParamByName('_grupo').AsString := > cdsMyGrupos_grupo.AsString; > cdsMyConsulta.Params.ParamByName('_estado').AsString := 'inserir'; > cdsMyConsulta.Execute; > end;//dm > end; > > procedure TAFGrupos.MyLOGGruposAlterar; > var > cod : integer; > sqlInserir : string; > begin > sqlInserir := 'insert into grupos_log' + > ' (_codigo,_ativo,_data_cad,_hora_cad, _user_cad,_grupo,' + > '_estado) values (' + > ':_codigo,' + > ':_ativo,' + > ':_data_cad,' + > ':_hora_cad,' + > ':_user_cad,' + > ':_grupo,' + > ':_estado' + > ')'; > with dm do > begin > cdsMyConsulta.CommandText := sqlInserir; > cdsMyConsulta.Params.ParamByName('_codigo').AsInteger := > cdsMyGrupos_codigo.AsInteger; > cdsMyConsulta.Params.ParamByName('_ativo').AsInteger := > cdsMyGrupos_ativo.AsInteger; > cdsMyConsulta.Params.ParamByName('_data_cad').AsDate := Date; > cdsMyConsulta.Params.ParamByName('_hora_cad').AsDate := Date; > cdsMyConsulta.Params.ParamByName('_user_cad').AsInteger := > cdsMyGrupos_user_cad.AsInteger; > cdsMyConsulta.Params.ParamByName('_grupo').AsString := > cdsMyGrupos_grupo.AsString; > cdsMyConsulta.Params.ParamByName('_estado').AsString := 'alterar'; > cdsMyConsulta.Execute; > end;//dm > end; > > Valeu o incentivo. > > > ----- Original Message ----- > From: "Eduardo Silva dos Santos" > <[EMAIL PROTECTED]<eduardo.drd%40gmail.com> > > > To: <delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>> > Sent: Saturday, May 10, 2008 8:10 PM > Subject: Re: [delphi-br] Delphi 2007 Com DBExpress com MYSQL 5 e MyDac > > Provavelmente vc tem um indice único.. prepare um projeto que reproduza o > problema e vamos verificar. > > 2008/5/10 Otavio <[EMAIL PROTECTED] <htiuk%40yahoo.com.br>>: > > > substitui, e acontece o famoso "Key violation", insere e atualiza, mas > > exibe > > a msg de "Key Violation", > > e não uso campo auto_increment na tabela, apenas índices, sabes me dizer > o > > pq? > > Obrigadão. > > > > ----- Original Message ----- > > From: "Eduardo Silva dos Santos" > > <[EMAIL PROTECTED] <eduardo.drd%40gmail.com><eduardo.drd%40gmail.com > > > > > > > To: <delphi-br@yahoogrupos.com.br > > <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br>> > > Sent: Saturday, May 10, 2008 12:17 PM > > Subject: Re: [delphi-br] Delphi 2007 Com DBExpress com MYSQL 5 e MyDac > > > > Funciona perfeitamente, inclusive nos demos do myDac tem um exemplo de > > DataSnap > > > > 2008/5/10 Otavio <[EMAIL PROTECTED] <htiuk%40yahoo.com.br> <htiuk% > 40yahoo.com.br>>: > > > > > Na aplicção servidora TSQLConnection <- TSQLDataset <- > > > TDataSetProvider > > > > > > Na aplicação cliente TSocketConnection <- TClientDataSet > > > > > > Se Substituir na Aplicação servidora o TSQLConnection pelo > TMyConnection > > e > > > o TSQLDataSet pelo TMyQuery funciona? > > > > > > Versão do MyDac = 5.10.0.10 > > > Versão do Mysql = 5.0.22 > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > -- > > ....................................................... > > Eduardo Silva dos Santos > > DRD Sistemas. > > (27) 3218-4201 > > MSN: [EMAIL PROTECTED] <eduardo.drd%40gmail.com> <eduardo.drd% > 40gmail.com> > > Site: http://www.drdsistemas.com.br/ > > ....................................................... > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > > > -- > ....................................................... > Eduardo Silva dos Santos > DRD Sistemas. > (27) 3218-4201 > MSN: [EMAIL PROTECTED] <eduardo.drd%40gmail.com> > Site: http://www.drdsistemas.com.br/ > ....................................................... > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > -- ....................................................... Eduardo Silva dos Santos DRD Sistemas. (27) 3218-4201 MSN: [EMAIL PROTECTED] Site: http://www.drdsistemas.com.br/ ....................................................... [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>