[firebase-br] Problema com Firebird 2.1

Rodrigo dominio em engeplus.com.br
Sex Nov 21 13:27:26 -03 2008


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






Mais detalhes sobre a lista de discussão lista