Pergunta

Estou portando código realmente antigo para usar os componentes da UNIDAC. Eu atingi uma parede com uma atualização específica SQL que muda um campo chamado "retornando". Simplesmente embrulhar o campo nas cotações não resolve o problema, porque o dialeto SQL no banco de dados é 1, que não suporta delimitadores de campo de cotação dupla. Existe alguma maneira de contornar isso sem mudar o campo? Estou no Delphi 7 e estou me afastando dos componentes da Interbase DB.

Editar: SQL é o seguinte:

update logger set
returning = :RETURNING
where locator = :LOCATOR

Retorna o seguinte erro ao tentar se preparar:

---------------------------
Ww
---------------------------

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
where.
---------------------------
OK   
---------------------------

Isso ocorre mesmo quando eu defino o dialeto SQL do cliente como 1 no código:

query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';
Foi útil?

Solução

Eu tive que conversar com o desenvolvedor. Foi abordado a um determinado ponto, mas preciso remover todos os parâmetros na consulta antes de executá -la. Muito estranho, mas é uma solução alternativa:/

Outras dicas

É possível criar uma visualização deixando tudo o mesmo, exceto para este campo e usar essa visualização em seu aplicativo?

É possível executar este aplicativo com a DLL do cliente de um Firebird <2,1 (1,5, por exemplo) e um servidor com a mesma versão?

Eu acho que isso se deve à nova sintaxe, onde o retorno é uma palavra reservada!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top