User Name Required - Firebird

Firebird

19/10/2005

Tenho um Select que se eu rodar num servidor Interbase executa sem problemas, mas se esse mesmo SQL for rodado em um servidor Firebird, ele da o seguinte erro:
´User Name Required´
Alguem sabe me dizer o por que desse erro?

Obs:
1. é exatamente a mesma base (estrutura e dados), apenas com a diferenca que foi feito backup no IB 6 e restaurado no FB 1.5 para executar no servidor Firebird.
2. sao servidores separados, um apenas com IB 6 e outro apenas com FB 1.5


Drf

Drf

Curtidas 0

Respostas

Bruno Belchior

Bruno Belchior

19/10/2005

por onde vc está executando... IBExpert, dbExpress?


GOSTEI 0
Drf

Drf

19/10/2005

Testei pelo IBConsole, SQLExplorer e pelo delphi7/IBX.


GOSTEI 0
Vinicius2k

Vinicius2k

19/10/2005

Vc está rodando localmente nos servidores ou através de uma estação remota?
Se for remoto, vc pode estar tendo problemas de ´cliente´ com a GDS32.DLL. No IBX, por exemplo, vc não consegue mudar a DLL cliente e ele sempre vai utilizar a GDS32.DLL, a qual é diferente entre o IB e o FB.

T+


GOSTEI 0
Drf

Drf

19/10/2005

Executei tanto no próprio servidor qto pela rede, e aconteceu o mesmo, e além dos que já havia testado, usei tb o IBAccess.

Mas já descobri qual o problema.
Considerando o SQL:

select campo1, sum(campo2) from tabela
where campo3 = ´TESTE´
group by campo1
order by campo4

No IB6 esse SQL executa perfeitamente, mas FB 1.5 ele retorna o erro: ´User Name Required´
Se retirar o ´order by´ funciona. Se trocar o ´order by campo4´ por ´order by campo1´ tb funciona, ou seja,
o campo de ordenação utilizado deve estar na seleção de retorno.

Duas dúvidas:
1. Isso é uma característica da evolução do IB para o FB, ou pode haver algum problema com meu processo
de conversão do sistema de IB para FB?
2. Alguém sabe me dizer se está correto mostrar essa mensagem ´User Name Required´ para esse erro, ou pode haver
algum problema no arquivo de mensagens do FB?

Se alguém conseguir testar essa situação em seus ambientes poderia ser muito útil.
Obrigado.

Obs: Qto ao meu SQL, ja encontrei o erro, pois não existe necessidade de ordenar por um campo que não está na pesquisa,
assim, mudei o campo de ordenação para o campo correto e está funcionando.


GOSTEI 0
Vinicius2k

Vinicius2k

19/10/2005

Colega,

Não tinha informação sobre o ORDER BY. Até o momento, eu tinha *informação* apenas sobre o GROUP BY. Li em algum lugar que o IB permitia o agrupamento sem todas as colunas do select, o que não faria o menor sentido, mas nunca testei.

Se retirar o ´order by´ funciona. Se trocar o ´order by campo4´ por ´order by campo1´ tb funciona, ou seja, o campo de ordenação utilizado deve estar na seleção de retorno.

Como vc mesmo percebeu, também não faria sentido ordenar por uma coluna que não está no select/agrupamento.
Então penso que esta mudança no ORDER BY tenha implementada juntamente com a mudança no GROUP BY, considerando que a informação de li sobre o IB seja verdadeira.

Não pude testar no IB 6, mas a mensagem de erro correta para vc deveria ser a mesma da minha simulação no FB.
SQL error code = -104. Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause).


T+


GOSTEI 0
Gilberto Fernandes

Gilberto Fernandes

19/10/2005

Graças a Deus existe o fórum do ClubeDelphi com ferramenta de busta hehe

já estava rancando os poucos cabelos q mes restam por causa dessa msg de erro, q fala uma coisa nada a ver, ta loco

[]´s
Gilberto


GOSTEI 0
POSTAR