[firebase-br] duvidas sobre procedure

Sandro Souza escovadordebits em gmail.com
Sex Set 18 13:17:19 -03 2009


Bom dia/tarde Marcio.

Grande Marcio, esse erro de CHARACTER SET significa que a aplicação que está
efetuando a conexão (nesse caso, o DATABASE COMPARE) não está usando o
conjunto correto de caracteres para a conexão.

Nesse caso, verifique os parâmetros de conexão, e muito provavelmente deve
haver um parâmetro/campo em que você possa selecionar qual é o CHARACTER SET
que você deseja utilizar para se conectar à sua base de dados.

Alterando esse parâmetro/campo para o valor correto irá resolver esse erro.

Espero ter ajudado mais que atrapalhado. :D

2009/9/18 Marcio Da Silva Ereno <marcio em msereno.com.br>

> Pessoal muito obrigado pela ajuda..
> Eu estava batendo cabeça atoa, se eu tivesse falado qual versao do firebird
> eu usava ja
> teria visto que nao funcionava...
>
> Eu gostaria de migrar para a versao mais recente eu acho q e a 2.1
>
> Eu tentei fazer isso alguns dias atras eu somente desinstalei a 1.5 e
> instalei a 2.1
> funcionou perfeitamente, mais quando tive que fazer uma alteração no banco
> de dados
> dai eu uso um sistema chamado DATABASE COMPARE para comparar as basas e
> fazer
> as alterações necessarias no banco... dai esse programa não funcionou deu
> um erro de CHARSET.
> Essa foi minha grande dificulde em migrar.
> Meus amigos que dicas vcs podem me dar para me ajudar?
>
>
>
> 2009/9/18 Escovador de Bits <escovadordebits em gmail.com>
>
> Bom dia/tarde Marcio.
>>
>> Grande Marcio, realmente o Firebird anterior a versão 2.0 não suporta
>> SELECT na cláusula FROM, e isso realmente é uma pedra no sapato.
>>
>> Nessa situação, sugiro duas soluções diferentes:
>>
>> 1 - Criando uma visão.
>>
>> Podemos criar a seguinte visão:
>>
>> CREATE VIEW VS_ESTADOS (ESTADO) AS SELECT DISTINCT ESTA_CID FROM CIDADES;
>>
>> E agora, podemos alterar esse SELECT COUNT(*) para o seguinte:
>>
>> SELECT COUNT(*) FROM VS_ESTADOS INTO :QUANTIDADE_DE_REGISTROS;
>>
>> 2 - Fazendo um laço bem básico para efetuar a contagem dos registros:
>>
>> Fariamos um laço bem simples mesmo apenas para contar os registros:
>>
>> -- Inicializa a quantidade de registros.
>> QUANTIDADE = 0;
>> -- Laço de contagem (a partir da versão 2.0, um só SELECT resolve).
>> FOR SELECT DISTINCT ESTA_CID FROM CIDADES INTO :VARIAVEL_DE_TESTE DO
>>  QUANTIDADE = QUANTIDADE + 1;
>>
>> Pessoalmente eu acredito que a primeira solução seja bem mais simples e
>> eficiente.
>>
>> Espero ter ajudado mais que atrapalhado. :D
>>
>> Marcio Da Silva Ereno escreveu:
>>
>>  Sandro somente corrigindo o codigo é que eu estava fazendo varios testes
>>> ok
>>>
>>> select count(*) from
>>> (select distinct esta_cid  as estado from cidades)
>>>
>>> --
>>> Marcio Ereno
>>>
>>
>
>
> --
> Marcio Ereno
>



Mais detalhes sobre a lista de discussão lista