DataSnap - erro Field XXX is of an unsupported type
SQL Server 2008
Delphi XE3
Função no server:
function TsmFunc.ChecaIDTabela ( nIdEmpresa : integer; sTabela : String; oCampos, oValores, oRetorno : OleVariant ) : OleVariant;
Quando chamo no cliente ele dá o seguinte erro:
Field XXX is of an unsupported type
Porém eu coloquei log na função e ela executa corretamente, analisando o Profiler do SQL inclusive monta e executa a SQL normalmente, mas ocorre o erro acima.
Alguma idéia?
Delphi XE3
Função no server:
function TsmFunc.ChecaIDTabela ( nIdEmpresa : integer; sTabela : String; oCampos, oValores, oRetorno : OleVariant ) : OleVariant;
Quando chamo no cliente ele dá o seguinte erro:
Field XXX is of an unsupported type
Porém eu coloquei log na função e ela executa corretamente, analisando o Profiler do SQL inclusive monta e executa a SQL normalmente, mas ocorre o erro acima.
Alguma idéia?
Lorival Filho
Curtidas 0
Respostas
Douglas
06/02/2013
Lorival,
troque o retorno desta função
e os campos do tipo OleVariant também para um tipo String.
Depois poste para saber se deu certo.
troque o retorno desta função
e os campos do tipo OleVariant também para um tipo String.
Depois poste para saber se deu certo.
GOSTEI 0
Lorival Filho
06/02/2013
Douglas,
Fiz esse teste e funcionou! Porém não vai resolver meu problema, eu precisaria trabalhar com ARRAY para passar vários campos ( a ser utilizado no WHERE ) e vários campos para retorno ( a ser utilizado no SELECT ).
O estranho de tudo que tenho outra função que utiliza OleVariant e funciona perfeitamente.
Alguma sugestão???
Fiz esse teste e funcionou! Porém não vai resolver meu problema, eu precisaria trabalhar com ARRAY para passar vários campos ( a ser utilizado no WHERE ) e vários campos para retorno ( a ser utilizado no SELECT ).
O estranho de tudo que tenho outra função que utiliza OleVariant e funciona perfeitamente.
Alguma sugestão???
GOSTEI 0
Lorival Filho
06/02/2013
Resolvido!!!
Mudei para o código o nome do ServerMethodName:
TsmFunc_ChecaIDTabela.ServerMethodName :=
e deixei em branco no FORM.
mudando apenas isso não ocorreu mais o erro.
BUG do Delphi?
Mudei para o código o nome do ServerMethodName:
TsmFunc_ChecaIDTabela.ServerMethodName :=
TsmFunc.ChecaIDTabela
;e deixei em branco no FORM.
mudando apenas isso não ocorreu mais o erro.
BUG do Delphi?
GOSTEI 0
Douglas
06/02/2013
Acredito que sim meu caro,
mas ponha o nome por questão de prevenção.
Se o erro retornar novamente vamos pensar em outra forma
de corrigir.
Espero ter ajudado.
mas ponha o nome por questão de prevenção.
Se o erro retornar novamente vamos pensar em outra forma
de corrigir.
Espero ter ajudado.
GOSTEI 0
Douglas
06/02/2013
Acredito que sim meu caro,
mas ponha o nome por questão de prevenção.
Se o erro retornar novamente vamos pensar em outra forma
de corrigir.
Espero ter ajudado.
mas ponha o nome por questão de prevenção.
Se o erro retornar novamente vamos pensar em outra forma
de corrigir.
Espero ter ajudado.
Obs: Houve um erro de interpretação minha. Você alterou diretamente no código passando
o nome do método para objeto, não há nenhum tipo de problema deixando em branco no Form.
GOSTEI 0
Lorival Filho
06/02/2013
pelo jeito não mesmo...mas o importante é que funcionou!!!
GOSTEI 0
Douglas
06/02/2013
Que bom,
no que puder ajudar estou
por aqui !
no que puder ajudar estou
por aqui !
GOSTEI 0