Função Oracle x DbExpress

24/11/2005

1

Ola Pessoal.
Caros Colegas estou com problemas no DBX quando tento usar uma fnção do oracle em um select a função é :
sum(campo) over (order by campo rows unbounded prededing) nome_campo

me retorna o erro que é o indice esta fora de faixa. Ja tentei usar com o ClientDataSet e SimpleDataSet, mas ambos me retornaum o mesmo erro.
Alguem por favor saberia se existe problemas com funções do Oracle no DBX ?

obs uso D7 + Oracle 9i
Obrigado a Todos.


Responder

Posts

se você rodar essa mesma instrução direto no console do oracle funciona?


Responder

24/11/2005

Mdm

Obrigado Pela Interesse Colega.
Funciona sim, até mesmo quando eu uso o select dentro de uma TQuery, o problema é quando eu vou usar os componentes da DBX, e algo mais curioso é q quando uso apenas a SqlQuery não da problema, mas quando vou fazer uso do provider + ClienteDataset e SimpleDataSet , ai aparece o problema..... sera q o problema esta com O ClienteDataSet ?
Obrigado Colega.


Responder

24/11/2005

Mdm

sobe


Responder
o erro é ´indice fora da faixa´ ou ´valor fora da faixa´?
talvez o valor retornado pelo sum() seja maior do que o valor suportado pelo tipo do campo do clientdataset.


Responder

24/11/2005

Mdm

O erro é ´Lista de Indices fora de faixa´, não consigo nem adcionar os fields no Componente.

Obrigado


Responder

25/11/2005

Mdm

Ninguém mais possou por isso ? :cry:


Responder
amigo, creio que o clientdataset possa estar ´se perdendo´ no fato de haver 4 elementos para a formação do campo (o normal seria até 2).
sua instrução:
1          2    3                                         4
sum(campo) over (order by campo rows unbounded prededing) nome_campo


normalmente é, no máximo, assim:
1                             2
(sum(campo) [+ sum(campo2)] ) nome_campo


[size=18:93dd1b0cf2]tente fazer:[/size:93dd1b0cf2]
1                                                           2
(sum(campo) over (order by campo rows unbounded prededing)) nome_campo

ou seja: envolva sua instrução em parênteses.


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira