Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao restaurar banco.


Isomartecnologo

Pergunta

Galera, fiz um backup de um banco de um servidor antigo que uns programadores bestões fizeram, na intenção de levantar um outro servidor (mais robusto e de sistema mais atualizado). Após instalar tudo o que era necessário, restaurei o backup para esse novo banco, mas durante a restauração dá erros e a aplicação apresenta falhas ao buscar dados no banco. Olhei o log do Postgresql e apresenta as seguintes informações:

---------------------------------

2012-03-26 14:27:20 BRT CONSULTA: select case when sigla is null then nome else sigla end from unidade_penal where u_penal_id = value

2012-03-26 14:27:20 BRT CONTEXTO: PL/pgSQL function "get_label_campo" line 11 at comando SQL

2012-03-26 14:27:20 BRT COMANDO: select a.campo_tipo_ocorrencia_id as id, a.nome, a.tipo_campo, b.valor, get_label_campo(b.campo_ocorrencia_id) as label from campos_tipo_ocorrencia a join campo_ocorrencias b on(b.ref_campo=a.campo_tipo_ocorrencia_id) where b.ref_ocorrencia ='266559' order by campo_ocorrencia_id;

2012-03-26 14:27:20 BRT ERRO: operador não existe: integer = character varying no caracter 106

2012-03-26 14:27:20 BRT DICA: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas.

2012-03-26 14:27:20 BRT CONSULTA: select case when sigla is null then nome else sigla end from unidade_penal where u_penal_id = value

2012-03-26 14:27:20 BRT CONTEXTO: PL/pgSQL function "get_label_campo" line 11 at comando SQL

2012-03-26 14:27:20 BRT COMANDO: select a.campo_tipo_ocorrencia_id as id, a.nome, a.tipo_campo, b.valor, get_label_campo(b.campo_ocorrencia_id) as label from campos_tipo_ocorrencia a join campo_ocorrencias b on(b.ref_campo=a.campo_tipo_ocorrencia_id) where b.ref_ocorrencia ='289597' order by campo_ocorrencia_id;

2012-03-26 14:27:39 BRT LOG: não pôde receber dados do cliente: Conexão fechada pela outra ponta

2012-03-26 14:27:39 BRT LOG: EOF inesperado durante conexão do cliente

--------------------------------

A função referida no log "get_label_campo" está no novo banco desta forma:

------------------------------

-- Function: get_label_campo(integer)

-- DROP FUNCTION get_label_campo(integer);

CREATE OR REPLACE FUNCTION get_label_campo(integer)

RETURNS character varying AS

$BODY$

DECLARE

campo int;

value varchar;

tipocampo varchar;

foreign varchar;

BEGIN

select into campo, value ref_campo, valor from campo_ocorrencias where campo_ocorrencia_id = $1;

select into tipocampo tipo_campo from campos_tipo_ocorrencia where campo_tipo_ocorrencia_id = campo;

IF (tipocampo = 'upenal') THEN

BEGIN

select into foreign case when sigla is null then nome else sigla end from unidade_penal where u_penal_id = value;

return foreign;

END;

ELSE

return value;

END IF;

END;

$BODY$

LANGUAGE plpgsql VOLATILE

COST 100;

ALTER FUNCTION get_label_campo(integer)

OWNER TO postgres;

---------------------------------

Se alguém tiver alguma idéia do que pode estar ocorrendo, por favor, me ajude.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...