Adicionar coluna com tipo numeric
10/11/2015
0
estou tentando adicionar uma nova coluna na minha tabela do tipo numeric (via delphi), porém estou recebendo a seguinte mensagem:
SQL Error: Dynamic SQL Error SQL error code = -817 Metadata update statement is not allowed by the current database SQL dialect 1. Error Code: -817. The INSERT, UPDATE, DELETE, DDL or authorization statement cannot be executed because the transaction is inquiry only The SQL: ALTER TABLE TESTE ADD VALOR NUMERIC(10,2);
Se eu rodar o script direto pelo IBExpert a coluna é adicionada normalmente, porém via delphi exibe a mensagem acima..
Trecho do código do delphi:
qr.Close; qr.SQL.Clear; qr.SQL.Add('ALTER TABLE TESTE ADD VALOR NUMERIC(10,2);'); qr.ExecSQL;
Estou usando delphi 2010 com Zeos e firebird 2.5
o problema ocorre só com o tipo numeric... Se mudar para varchar, por exemplo, vai rodar normalmente!
Usuario
Post mais votado
11/11/2015
Pelo que andei pesquisando se adicionar o tipo NUMERIC com tamanho de 10 acima (Ex.: NUMERIC(10,2) ) ele passa a usar INT64 internamente.. Então mudei o tamanho do campo para NUMERIC(5,2) e passou a rodar o script normalmente! Agora o que fique confuso é o porque o script roda no IBExpert e via delphi não vai! Mas, problema resolvido!
Usuario
Mais Posts
10/11/2015
e Ltda
10/11/2015
Usuario
Pior que no IBExpert a frente do nome da base está entre parenteses Dialect 1 e por la roda!
Minha conexao está assim...
[img:descricao=Conexao]http://arquivo.devmedia.com.br/forum/imagem/332823-20151110-173121.png[/img]
Há alguma coisa que posso fazer referente a isso?
11/11/2015
Rafael Bosco
11/11/2015
Usuario
A versão do firebird está 2.5 e o Dialect está como 1.. Segue a imagem
[img:descricao=Imagem]http://arquivo.devmedia.com.br/forum/imagem/332823-20151111-123949.png[/img]
Você disse para alterar o dialect para 3 no Zeos... como faço ?
11/11/2015
Rafael Bosco
[img]http://arquivo.devmedia.com.br/forum/imagem/463111-20151111-132635.png[/img]
Pelo que li na internet, o SQL error -817, é pelo de estar usando uma versão do FireBird atualizada, porém com o Dialect 1, se caso não identificar, sugiro alterar o Dialect da base de dados, ou a versão do Firebird.
29/10/2017
Marcelo Silva
Clique aqui para fazer login e interagir na Comunidade :)