Erro ao grava dados Migração BDS2006 - RAD2009
Bom dia a Todos,
Estou tentando migra o meu projeto para 2009, mas estou tendo problema com a gravação dos dados quando a query tem inner join.
Quando eu copilo a aplicação Servidora no 2006 e o cliente no 2009 funciona, quando copilo Servidor/Cliente 2009 apresenta erro.
Exemplo:
SELECT
ST_SOLICITACAOCOMPRA.NUM_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.NUM_DEPARTAMENTO,
ST_SOLICITACAOCOMPRA.NUM_EMPRESA,
ST_SOLICITACAOCOMPRA.NUM_USUARIO,
ST_SOLICITACAOCOMPRA.COD_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.DAT_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.HOR_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.DSC_OBSERVACAO,
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
FROM
ST_SOLICITACAOCOMPRA
INNER JOIN ST_DEPARTAMENTO ON
(ST_SOLICITACAOCOMPRA.NUM_DEPARTAMENTO =
ST_DEPARTAMENTO.NUM_DEPARTAMENTO)
Os ProviderFlags estão configurados de forma correta tanto no SqlQuery como no ClientDataSet;
coloque no cldsPrincipalReconcileError esta linha:
Action := HandleReconcileError(dataset, UpdateKind, E);
e a mensagem que aparece é essa:
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -206
Column unknown
DSC_DEPARTAMENTO
At line 2, column 140
a versão do meu firebird é: 2.0.0.12748
e do meu Drive odbc é: 2.0
Desde já agradeço
Silvio Coelho
Estou tentando migra o meu projeto para 2009, mas estou tendo problema com a gravação dos dados quando a query tem inner join.
Quando eu copilo a aplicação Servidora no 2006 e o cliente no 2009 funciona, quando copilo Servidor/Cliente 2009 apresenta erro.
Exemplo:
SELECT
ST_SOLICITACAOCOMPRA.NUM_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.NUM_DEPARTAMENTO,
ST_SOLICITACAOCOMPRA.NUM_EMPRESA,
ST_SOLICITACAOCOMPRA.NUM_USUARIO,
ST_SOLICITACAOCOMPRA.COD_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.DAT_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.HOR_SOLICITACAOCOMPRA,
ST_SOLICITACAOCOMPRA.DSC_OBSERVACAO,
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
FROM
ST_SOLICITACAOCOMPRA
INNER JOIN ST_DEPARTAMENTO ON
(ST_SOLICITACAOCOMPRA.NUM_DEPARTAMENTO =
ST_DEPARTAMENTO.NUM_DEPARTAMENTO)
Os ProviderFlags estão configurados de forma correta tanto no SqlQuery como no ClientDataSet;
coloque no cldsPrincipalReconcileError esta linha:
Action := HandleReconcileError(dataset, UpdateKind, E);
e a mensagem que aparece é essa:
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -206
Column unknown
DSC_DEPARTAMENTO
At line 2, column 140
a versão do meu firebird é: 2.0.0.12748
e do meu Drive odbc é: 2.0
Desde já agradeço
Silvio Coelho
Minervasoft
Curtidas 0
Respostas
Osocram
24/07/2009
pela mensagem
vc deve ter setado os campos
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
como InUpdate e InWhere tira isso deles.
e veja se no evento GetTableName do DataSetProvider vc esta passando a Tabela em maiusculo.
vc deve ter setado os campos
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
como InUpdate e InWhere tira isso deles.
e veja se no evento GetTableName do DataSetProvider vc esta passando a Tabela em maiusculo.
GOSTEI 0
.lg.
24/07/2009
Completando um arrisque:
Esta coluna existe?
[color=blue:42cc0e6f85]DSC_DEPARTAMENTO[/color:42cc0e6f85]
O que entendi do erro é: Essa coluna não existe. Simplismente é o que me veio em pensamento.
Esta coluna existe?
[color=blue:42cc0e6f85]DSC_DEPARTAMENTO[/color:42cc0e6f85]
O que entendi do erro é: Essa coluna não existe. Simplismente é o que me veio em pensamento.
GOSTEI 0
Minervasoft
24/07/2009
pela mensagem
vc deve ter setado os campos
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
como InUpdate e InWhere tira isso deles.
e veja se no evento GetTableName do DataSetProvider vc esta passando a Tabela em maiusculo.
- No ProviderFlags está desabilitado todas as opções para esses 2 campos
- No GetTableName não estou passando nada.
GOSTEI 0
Minervasoft
24/07/2009
Completando um arrisque:
Esta coluna existe?
[color=blue:ac0af39fe9]DSC_DEPARTAMENTO[/color:ac0af39fe9]
O que entendi do erro é: Essa coluna não existe. Simplismente é o que me veio em pensamento.
DSC_DEPARTAMENTO e DSC_RESPONSAVEL existe sim, podendo ser verificado na query do primeiro topico.
a minha dificuldade de enteder é que se eu copilar a plicação servidor no BDS 2006 e a aplicação cliente no RAD 2009 funciona perfeitamente
GOSTEI 0
Osocram
24/07/2009
Tenta fazer um teste amigo
coloca isso no GetTableName
ST_SOLICITACAOCOMPRA
so p ver se isso funciona.
- No ProviderFlags está desabilitado todas as opções para esses 2 campos
- No GetTableName não estou passando nada.[/quote:aa59fd5616]
coloca isso no GetTableName
ST_SOLICITACAOCOMPRA
so p ver se isso funciona.
[quote:aa59fd5616=´osocram´]pela mensagem
vc deve ter setado os campos
ST_DEPARTAMENTO.DSC_DEPARTAMENTO,
ST_DEPARTAMENTO.DSC_RESPONSAVEL
como InUpdate e InWhere tira isso deles.
e veja se no evento GetTableName do DataSetProvider vc esta passando a Tabela em maiusculo.
- No ProviderFlags está desabilitado todas as opções para esses 2 campos
- No GetTableName não estou passando nada.[/quote:aa59fd5616]
GOSTEI 0