Ir para o conteúdo

 Voltar a Gnuteca - Su...
Tela cheia

Erro na configuração da unidade de biblioteca

17 de Maio de 2011, 15:05 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 23 vezes

Quando vou em Configuração > Sistema > Unidade de biblioteca e clico em "Buscar", aparece a mensagem "Erro fatal" com os dizeres:

ERRO: erro de sintaxe em ou próximo a "," LINHA 1: ...l FROM gtcLibraryUnit A WHERE libraryUnitId in (,) ORDER B... ^

Qual pode ser o motivo para tal?

Autor: Alan Homobono


77 comentários

  • 86212064df1ceba7c6dd84d0b521e0e5?only path=false&size=50&d=404Marx da Silva Medeiros(usuário não autenticado)
    17 de Maio de 2011, 15:13

     

    A unidade da biblioteca já foi criada? Para criar clique no ícone da folha de papel com um "+" e para salvar clique no ícone do disquete. 

    • 91121d39e5e06951df836372c61fefef?only path=false&size=50&d=404Alan Homobono(usuário não autenticado)
      17 de Maio de 2011, 15:38

       

      Obrigado pela resposta, mas eu já havia criado uma unidade de biblioteca chamada "Teste de unidade de biblioteca".

      O curioso é que se eu mandar buscar selecionando essa unidade de biblioteca, a pesquisa a encontra, mas se eu mandar pelo método padrão ("Todas bibliotecas"), dá o erro anteriormente citado.

      • Af18356bc284da4092874fccf81ef581?only path=false&size=50&d=404Jamiel Spezia(usuário não autenticado)
        17 de Maio de 2011, 17:38

         

        Alan. Cadatre o teu usuário como um operador da biblioteca. O cadastro de operadores está em  Configurações -> Gerenciamento.

        • 91121d39e5e06951df836372c61fefef?only path=false&size=50&d=404Alan Homobono(usuário não autenticado)
          17 de Maio de 2011, 18:07

           

          Acabei de fazer o cadastro do usuário gnuteca como operador da biblioteca de teste que criei. O erro supracitado não é um preocupante, mas ele permanece apesar da alteração recém-feita.

          • Af18356bc284da4092874fccf81ef581?only path=false&size=50&d=404Jamiel Spezia(usuário não autenticado)
            20 de Maio de 2011, 14:55

             

            Isto pode ser um problema cadastro. Já vimos acontecer e a correção foi encaminhada para a próxima versão. Este problema ocorre quando é cadastrado um operador com o campo "Todas as bibliotecas" e é inserido novamente um registro com a biblioteca específica ou novamente um com "Todas as bibliotecas". Consulte diretamente na tua base com o segunite sql: SELECT * from gtcoperatorlibraryunit order by 1; Se tiver registros repetidos para o mesmo operador, um deles deverá ser apagado. 

            • 91121d39e5e06951df836372c61fefef?only path=false&size=50&d=404Alan Homobono(usuário não autenticado)
              20 de Maio de 2011, 16:33

               

              Caro Jamiel,

              O resultado para a referida consulta foi o seguinte:

               operator | libraryunitid
              ----------+---------------
               gnuteca  |             
               gnuteca  |             
               gnuteca  |             2
              (3 registros)

              Isso significa que deverei deletar os dois primeiros registros (não apresentam ID), ou apenas um desses?

              Outra dúvida: o primeiro registro não deveria apresentar ID "1"?

            • 91121d39e5e06951df836372c61fefef?only path=false&size=50&d=404Alan Homobono(usuário não autenticado)
              30 de Maio de 2011, 17:39

               

              Prezado Jamiel,

              Resolvi apagar os dois registros que possuíam o valor em branco (duplicidade) para a coluna libraryunitid, através do seguinte comando:

              DELETE from gtcoperatorlibraryunit where libraryunitid is null;

              O resultado foi o objetivado na abertura deste tópico, ou seja, a mensagem de erro exposta nessa abertura já não aparece mais, apresentando, como resultado da consulta de biblioteca, a biblioteca de teste que criei. Mas, ao tentar atualizar o registro restante com o valor da coluna inicialmente citada (de "2" para "1") via o seguinte comando:

              UPDATE gtcoperatorlibraryunit set libraryunitid=1;

              a seguinte e nova mensagem de erro aparece:

              ERRO:  inser��o ou atualiza��o em tabela "gtcoperatorlibraryunit" viola restri��o de chave estrangeira "gtcoperatorlibraryunit_libraryunitid_fkey"
              DETALHE:  Chave (libraryunitid)=(1) n�o est� presente na tabela "gtclibraryunit".

              O detalhe apresentado é exatamente a dúvida que expus no comentário anterior.

Essa comunidade não possui posts nesse blog