[firebase-br] Problema com Firebird 2.1
Eduardo Bahiense
eduardo em icontroller.com.br
Sex Nov 21 13:59:32 -03 2008
Mas vc não respondeu minha pergunta.
IBExpert -> Database Registration Info
[ Server Version ]
[ Client Library File ]
Eduardo
Rodrigo escreveu:
> Boa tarde Eduardo,
> Veja só o que fiz...
>
> Fiz um Backup no 1.5.
>
> Instalei o Servidor Firebird 2.1.
>
> Fiz Restore.
>
> Extrai Metadata do Banco. Criei um novo Banco e criei todas as tabelas
> novamente com o metadata do outro banco.
> Usei o IBDataPump para transferir todos os dados de um banco pra outro.
> Até ae tudo 100%.
>
> Na tabela Produtos tem o Campo VCompra Varchar(20) e tem uns 50
> registros somente, e todos estao preenchidos sem nenhum campo nulo ou
> com algum outro caractere estranho.
> Todos estao no formato 0,00. ou seja 20,00 outro produto 30,50 e assim
> por diante.
>
> Charset esta como win1252 e Dialect 3.
>
> Aparentemente, parece estar tudo certo.
>
> Se vc quiser lhe mando a base de dados em pvt.
>
> Atenciosamente,
> Rodrigo
>
>
>
>
> ----- Original Message ----- From: "Eduardo Bahiense"
> <eduardo em icontroller.com.br>
> To: <lista em firebase.com.br>
> Sent: Friday, November 21, 2008 1:08 PM
> Subject: Re: [firebase-br] Problema com Firebird 2.1
>
>
> Não compilou no IBExpert?
>
> Verifique se no database registration info está apontando para a
> FBClient correta se a versão do server também está correta.
> Se você já tinha essa base registrada antes de usar o 2.1, esses
> parâmetros podem estar desatualizados no IBExpert, causandop esse
> comportamento anômalo.
>
>
> Eduardo
>
> Rodrigo escreveu:
>> Boa tarde Magno,
>>
>> fiz exatamente como esta aqui mas a procedure nao compila
>>
>> FOR
>> SELECT
>> CODIGO,CODPRODUTO,CODBARRA,PRODUTO,ESTOQUE,LUCRO,VCOMPRA,VVENDA,ESTMINIMO,UNIDADE,ICMS,TIPO,GRUPO,GRUPOI,GARANTIA,GARANTIAI,FORNECEDOR,NUMPEDIDO,NUMVENDA,GARANTIAVENDA,GARANTIAIVENDA,FRETE,DIFBALANTERIOR,VENDAOS,ACUMULATIVO,MARCA,CODBARRASLARGO,REFERENCIA,SUBGRUPO,COR,DATACOMPRA,DATAVENDA,GRUPO3,TAMANHO,EMPRESA,CODEMPRESA,VCOMPRA2,VVENDA2,LUCRO2,CODBARRA2,UNIDADE2,ESTOQUEUND,QTD,PRODABR,CONSIGNADO,VALORFRETE,VALORIPI,VALORICMS,VALORSEGURO,VALOROUTROS,IPI,CODFORNECEDOR,PRODUCAO,CODPT,DTNEGATIVO,CODPROD,VASILHAME,PROMOCAO,DESCONTO,CFOP,(Cast(Replace(VCompra,',','.')
>> as Numeric(8,2))/100 + COALESCE(ValorOutros,0) + COALESCE(ValorIPI,0)
>> + COALESCE(ValorSeguro,0) + COALESCE(ValorFrete,0)-
>> COALESCE(DESCONTO,0)),ATIVO,SUBGRUPO3 FROM PRODUTOS WHERE (TIPO='P' OR
>> TIPO IS NULL OR TIPO = '') AND PRODUTO LIKE :VALOR ORDER BY PRODUTO
>> INTO
>> :CODIGO,:CODPRODUTO,:CODBARRA,:PRODUTO,:ESTOQUE,:LUCRO,:VCOMPRA,:VVENDA,:ESTMINIMO,:UNIDADE,:ICMS,:TIPO,:GRUPO,:GRUPOI,:GARANTIA,:GARANTIAI,:FORNECEDOR,:NUMPEDIDO,:NUMVENDA,:GARANTIAVENDA,:GARANTIAIVENDA,:FRETE,:DIFBALANTERIOR,:VENDAOS,:ACUMULATIVO,:MARCA,:CODBARRASLARGO,:REFERENCIA,:SUBGRUPO,:COR,:DATACOMPRA,:DATAVENDA,:GRUPO3,:TAMANHO,:EMPRESA,:CODEMPRESA,:VCOMPRA2,:VVENDA2,:LUCRO2,:CODBARRA2,:UNIDADE2,:ESTOQUEUND,:QTD,:PRODABR,:CONSIGNADO,:VALORFRETE,:VALORIPI,:VALORICMS,:VALORSEGURO,:VALOROUTROS,:IPI,:CODFORNECEDOR,:PRODUCAO,:CODPT,:DTNEGATIVO,:CODPROD,:VASILHAME,:PROMOCAO,:DESCONTO,:CFOP,:CUSTO,:ATIVO,:SUBGRUPO3
>>
>> DO
>> SUSPEND;
>> end
>>
>> Unsuccessful execution caused by a system error that precludes
>> successful execution of subsequent statements.
>> Dynamic SQL Error.
>> expression evaluation not supported.
>>
>> Agora o por que? Misterio...
>>
>> Agradecido,
>> Rodrigo
>>
>>
>>
>> ----- Original Message ----- From: "Magno System"
>> <magno em speet.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, November 21, 2008 12:57 PM
>> Subject: Re: [firebase-br] Problema com Firebird 2.1
>>
>>
>> Fiz um SELECT na mesma linha e aceitou
>>
>> SELECT CODIGO, PRODUTO, ESTOQUEATUAL, LUCRO, ((Cast(REPLACE(PRECOVENDA,
>> ',','.')
>> as Numeric(8,2)) / 100) + COALESCE(PRECOVENDA,0)) FROM PRODUTOS WHERE
>> PRODUTO LIKE :VALOR ORDER BY PRODUTO
>>
>> ----- Original Message ----- From: "Rodrigo"
>> <dominio em engeplus.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, November 21, 2008 10:20 AM
>> Subject: Re: [firebase-br] Problema com Firebird 2.1
>>
>>
>> Bom dia Magno,
>>
>> Tentei fazer da forma que vc me indicou e tb nao deu certo,
>> Nao sei a impressão que eu tenho é que o comando Replace nao existe como
>> comando.
>>
>> Será que é isso?
>>
>> A versao do firebird é 2.1.1.17910
>>
>> Atenciosamente,
>> Rodrigo
>>
>>
>>
>> ----- Original Message ----- From: "Magno System"
>> <magno em speet.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, November 21, 2008 11:01 AM
>> Subject: Re: [firebase-br] Problema com Firebird 2.1
>>
>>
>> Ao invés de:
>>
>> Cast(REPLACE(VCompra,',','.')/100 as Numeric(8,2))
>>
>> Tente usar:
>>
>> Cast(REPLACE(VCompra,',','.') as Numeric(8,2)) / 100
>>
>>
>> ----- Original Message ----- From: "Rodrigo"
>> <dominio em engeplus.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, November 21, 2008 8:37 AM
>> Subject: Re: [firebase-br] Problema com Firebird 2.1
>>
>>
>> Bom dia Eduardo,
>>
>> Entao provavelmente estou fazendo algo errado.
>>
>> segue o codigo:
>> FOR
>> SELECT
>> CODIGO,CODPRODUTO,CODBARRA,PRODUTO,ESTOQUE,LUCRO,VCOMPRA,VVENDA,ESTMINIMO,UNIDADE,ICMS,TIPO,GRUPO,GRUPOI,GARANTIA,GARANTIAI,FORNECEDOR,NUMPEDIDO,NUMVENDA,GARANTIAVENDA,GARANTIAIVENDA,FRETE,DIFBALANTERIOR,VENDAOS,ACUMULATIVO,MARCA,CODBARRASLARGO,REFERENCIA,SUBGRUPO,COR,DATACOMPRA,DATAVENDA,GRUPO3,TAMANHO,EMPRESA,CODEMPRESA,VCOMPRA2,VVENDA2,LUCRO2,CODBARRA2,UNIDADE2,ESTOQUEUND,QTD,PRODABR,CONSIGNADO,VALORFRETE,VALORIPI,VALORICMS,VALORSEGURO,VALOROUTROS,IPI,CODFORNECEDOR,PRODUCAO,CODPT,DTNEGATIVO,CODPROD,VASILHAME,PROMOCAO,DESCONTO,CFOP,(Cast(REPLACE(VCompra,',','.')/100
>>
>> as Numeric(8,2)) + COALESCE(ValorOutros,0) + COALESCE(ValorIPI,0) +
>> COALESCE(ValorSeguro,0) + COALESCE(ValorFrete,0)-
>> COALESCE(DESCONTO,0)),ATIVO,SUBGRUPO3 FROM PRODUTOS WHERE (TIPO='P' OR
>> TIPO
>> IS NULL OR TIPO = '') AND PRODUTO LIKE :VALOR ORDER BY PRODUTO
>> INTO
>> :CODIGO,:CODPRODUTO,:CODBARRA,:PRODUTO,:ESTOQUE,:LUCRO,:VCOMPRA,:VVENDA,:ESTMINIMO,:UNIDADE,:ICMS,:TIPO,:GRUPO,:GRUPOI,:GARANTIA,:GARANTIAI,:FORNECEDOR,:NUMPEDIDO,:NUMVENDA,:GARANTIAVENDA,:GARANTIAIVENDA,:FRETE,:DIFBALANTERIOR,:VENDAOS,:ACUMULATIVO,:MARCA,:CODBARRASLARGO,:REFERENCIA,:SUBGRUPO,:COR,:DATACOMPRA,:DATAVENDA,:GRUPO3,:TAMANHO,:EMPRESA,:CODEMPRESA,:VCOMPRA2,:VVENDA2,:LUCRO2,:CODBARRA2,:UNIDADE2,:ESTOQUEUND,:QTD,:PRODABR,:CONSIGNADO,:VALORFRETE,:VALORIPI,:VALORICMS,:VALORSEGURO,:VALOROUTROS,:IPI,:CODFORNECEDOR,:PRODUCAO,:CODPT,:DTNEGATIVO,:CODPROD,:VASILHAME,:PROMOCAO,:DESCONTO,:CFOP,:CUSTO,:ATIVO,:SUBGRUPO3
>>
>> DO
>> SUSPEND;
>> end
>>
>> Agradeço pela ajuda,
>>
>> Rodrigo
>>
>>
>> ----- Original Message ----- From: "Eduardo Bahiense"
>> <eduardo em icontroller.com.br>
>> To: <lista em firebase.com.br>
>> Sent: Friday, November 21, 2008 8:54 AM
>> Subject: Re: [firebase-br] Problema com Firebird 2.1
>>
>>
>> Olá Rodrigo
>>
>> Isso funcionou aqui no meu FB 2.1.1.17910
>>
>> SELECT Cast(REPLACE('12,50', ',', '.') as Numeric(8,2)) FROM RDB$DATABASE
>>
>>
>> Eduardo
>>
>> Eduardo Bahiense escreveu:
>>> Tente assim:
>>>
>>> Cast(REPLACE(VTotal, ',', '.') as Numeric(8,2))
>>>
>>>
>>> Eduardo
>>>
>>>
>>> Rodrigo escreveu:
>>>> Boa Noite a Todos...
>>>> Estou com o seguinte problema,
>>>> Migrei o Firebird 1.5 para o 2.1 e algumas procedures que
>>>> funcionavam bem
>>>> antes agora estao com problemas:
>>>> Ex. tenho um Cast(VTotal as Numeric(8,2))
>>>>
>>>> onde VTotal é um Varchar(20) com a string 20,00.
>>>>
>>>> Quando vai converter exibe erro.
>>>> Overflow occurred during data type conversion.conversion error from
>>>> string
>>>> "20,00".
>>>>
>>>> Dae se mudar para 20.00 funciona.
>>>>
>>>> Entao resolvi fazer uma UDF pra fazer a conversão, fiz do seguinte
>>>> modo:
>>>>
>>>> na unit Func:
>>>>
>>>> unit Func;
>>>>
>>>> interface
>>>>
>>>> function TrocaVirgPonto(Valor: string): string; cdecl; export;
>>>>
>>>> implementation
>>>>
>>>> function TrocaVirgPonto(Valor: string): string;
>>>> var i: integer;
>>>> begin
>>>> try
>>>> for i := 1 to Length(Valor) do
>>>> if Valor[i] = ',' then
>>>> Valor[i] := '.';
>>>> except
>>>> //
>>>> end;
>>>> Result := valor;
>>>> end;
>>>>
>>>> end.
>>>>
>>>> e no projeto:
>>>>
>>>> library Funcoes;
>>>> uses
>>>> SysUtils,
>>>> Classes,
>>>> IB_Utils,
>>>> Func in 'Func.pas';
>>>>
>>>> {$R *.res}
>>>>
>>>> exports
>>>> TrocaVirgPonto;
>>>>
>>>> begin
>>>> end.
>>>>
>>>> no registro fiz assim:
>>>> declare external function Func
>>>> cstring(64)
>>>> returns cstring(64) free_it
>>>> entry_point 'TrocaVirPonto' module_name 'Funcoes.dll"';
>>>>
>>>>
>>>> Só que sempre que vou usar a função cai o servidor Firebird...
>>>>
>>>> Se alguem puder dar uma ajuda...
>>>>
>>>> Atenciosamente,
>>>> Rodrigo
>>>>
>>>>
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> __________ NOD32 3629 (20081121) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> __________ NOD32 3629 (20081121) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> __________ NOD32 3629 (20081121) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> __________ NOD32 3629 (20081121) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista