Fórum Erro ao abrir ClientDataset - URGENTE #450049
30/07/2013
0
A algum tempo estou tendo uns erros muito estranhos, e que geram esporadicamente ao tentar abrir um clientdataset.
O Erro é o seguinte:
Expected: 'true at position: 94
{"result":[{"rows":[0]},{"data":[26045,#192#192b#5#241#192#192#192#16#0#5#2#0#0#0#0#16e#170#3#161e#0#0#0#0#0#0#150#25#224#189#1#0#0#0#24#0#0#0#4#0#241#5#0#0#3#0#0#0#160#0#14status_analise#4#0#1#0#0#0#0#0#13status_seguro#4#0#1#0#0#0#0#0#11anli_codigo#4#0#1#0#0#0#0#0#18anli_estatus_geral#1#0J#0#0#0#1#0#5WIDTH#4#0#1#0#20#0#0#0#2#0#8READONLY#2#0#3#0#255#255#4LCID#4#0#1#0#0#0#0#0#0#0#0#128#0#0#0#0#0#0S#0#0#0#2A#0#0#0#0#128#0#0#0#0#0#0T#0#0#0#2A#0#0#0#0#128#0#0#0#0#0#0U#0#0#0#2A#0#0#0#0#128#0#0#0#0#0#0W#0#0#0#2A#0#0#0#0#128#0#0#0#0#0#0X#0#0#0#2A#0#0#0#255#255#0#0#0#0#0#0Y#0#0#0#2T#0#0#0#0#128#0#0#0#0#0#0Z ...
e ele continua, com milhões de caracteres assim. Percebi que no meio desse erro apare alguns campos do meu dataset, não sei se pode ajudar em algo.
Este dataset esta na minha aplicação cliente, que conecta em um servidor Datasnap. Estou utilizando Delphi 2010 e na minha máquina Win7 não consegui fazer gerar este erro, somente no cliente onde a máquina é XP.
Alguém saberia o que pode estar acontecendo?
Obrigado.
Leonardo Centenaro
Curtir tópico
+ 0Posts
31/07/2013
Marco Salles
O Protocolo é tcip ?
é delphi to Delphi ? Cliente e Servidor ?
como esta o Select no servidor ?
[]sds
Gostei + 0
31/07/2013
Leonardo Centenaro
É Datasnap com TCP/IP, eu tenho uma SQLQuery no servidor com um select nela. Mas na aplicação eu mudo esse sql (só adiciono alguns filtros no where na verdade). Meu DataSetProvider do servidor esta com as ProviderFlas = [poAllowCommandText, poUseQuoteChar]
Gostei + 0
31/07/2013
Marco Salles
Ou somente ao utilizar esta query no Client ????
Gostei + 0
01/08/2013
Leonardo Centenaro
A princípio não gerou mais o erro, mas como eu disse é esporádico, uma hora gera outra hora não gera.
Vou acompanha por mais um tempo, se voltar a acontecer eu tento deixar o SQL somente no servidor,
se não eu acontecer eu finalizo o tópico.
Gostei + 0
01/08/2013
Marco Salles
[]sds
Gostei + 0
05/08/2013
Leonardo Centenaro
Você acha que isso pode resolver o problema? Hoje voltou a acontecer rsrsrs.
Obrigado.
Gostei + 0
05/08/2013
Deivison Melo
Gostei + 0
06/08/2013
Leonardo Centenaro
Vou acompanhar durante o dia de hoje se não vai gerar mais, ai confirmo se foi solucionado ou não.
Obrigado
Gostei + 0
06/08/2013
Leonardo Centenaro
O estranho é que não gera logo que eu abro a tela, só se eu deixo ela aberta por um tempo.
Nesta tela eu tenho duas grids com sqls diferentes que ficam atualizando automático, com um Timer.
E as vezes junto com aquele primeiro erro gera também um "Missing Data Provider or Data Packet". Que eu sei, este só gera quando não tem um Datasetprovider ligado no clientdataset, ou quando não tem um SQL na query, que não é o caso.
Gostei + 0
06/08/2013
Marco Salles
O estranho é que não gera logo que eu abro a tela, só se eu deixo ela aberta por um tempo.
Nesta tela eu tenho duas grids com sqls diferentes que ficam atualizando automático, com um Timer.
E as vezes junto com aquele primeiro erro gera também um "Missing Data Provider or Data Packet". Que eu sei, este só gera quando não tem um Datasetprovider ligado no clientdataset, ou quando não tem um SQL na query, que não é o caso.
Não acretido que a query dinamicas iria resolver o seu problema visto que ao colocar o sql no servidor o problema continuou
descartando algo intrisico ao commandText
Esta tela que vc tem dois grids com sql diferents ( esta ligado a dois SqlDatasource diferentes ou a um so ??? tai a necessidade do commandtext ou da Query dinamicas ???)
Acredito que vc esta utilizando um Sqldatasouce somente tentando alimentar dois grids atraves de um timer . Correto ?
Caso sim , vc ja tentou com dois sqlDataSouce ??
Ja passei por situação similar a sua .. Onde utilizava um sqldatasoce e fazia consultas neles utilizando dois cds
com query dinamicas ligados a um mesmo TDatasetProvider
Minha solução foi sincronizar atraves de Thredas utilizando uma secção Crítica.. que cada consulta ocorreria separado da
outra . Uma so comecaria quando a outra terminasse
Parece que vc esta tendo problema similar
[]sds
Gostei + 0
06/08/2013
Leonardo Centenaro
E também as duas são abertas em um único Timer, acredito que não ocorra delas abrirem exatamente no mesmo instante.
O que seria esta secção Critica que você se refere?
Gostei + 0
06/08/2013
Marco Salles
O estranho é que não gera logo que eu abro a tela, só se eu deixo ela aberta por um tempo.
Nesta tela eu tenho duas grids com sqls diferentes que ficam atualizando automático, com um Timer.
E as vezes junto com aquele primeiro erro gera também um "Missing Data Provider or Data Packet".
Que eu sei, este só gera quando não tem um Datasetprovider ligado no clientdataset,
ou quando não tem um SQL na query, que não é o caso.
Não acretido que a query dinâmicas fosse resolver o seu problema visto que ao colocar o sql no servidor o problema
continuou descartando algo intrísico ao commandText
Esta tela que vc tem dois grids com sql diferents ( esta ligado a dois SqlDataSET diferentes ou a um só ???
tai a necessidade do commandtext ou da Query dinamicas ???)
Acredito que vc esta utilizando um SqldataSET somente tentando alimentar dois grids atraves de um timer . Correto ?
Caso sim , vc ja tentou com dois sqlDataSET ??
Ja passei por situação similar a sua .. Onde utilizava um sqldataSET e fazia consultas neles utilizando dois cds
com query dinamicas ligados a um mesmo TDatasetProvider
Minha solução foi sincronizar através de Thredas utilizando uma secção Crítica.. Onde cada consulta ocorreria separado
da outra . Uma so comecaria quando a outra terminasse
Parece que vc esta tendo problema similar
[]sds
Gostei + 0
06/08/2013
Marco Salles
para ver se o problema persisir . Isto é , se caraceteriza algum conflito .. Mas pode ser que o conflito esteja na
mesma consulta .. Aumente o intervalo do Timer para ter certeza que o processamento ira ocorrer apos o sql gerado
Claro que este aumento é paleativo , pois podera fazer este processo com Threads . Isto é so para teste mesmo e tentar
identificar a origem do problema
[]sds
Gostei + 0
06/08/2013
Leonardo Centenaro
Caso resolva, você indicaria criar threads para controlar isso?
Muito Obrigado.
Gostei + 0
06/08/2013
Leonardo Centenaro
Acho que teria que controlar no servidor, se o sqldataset não acabou de abrir um sql, esperar para tentar abrir outro.
O que você acha?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)