Jump to content
Fórum Script Brasil
  • 0

Erro ao restaurar banco.


Isomartecnologo

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...