Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #102030
    rwarstat
    Participante

      O bloco abaixo é executado sem problemas

      DECLARE
      caminho_xml VARCHAR2 (1024);
      ns VARCHAR2 (1024);
      vIndex NUMBER (3) := 0;

      TYPE vArquivo IS RECORD (id_arq NUMBER (3), nm_arquivo VARCHAR2 (100));

      TYPE tArquivo
      IS
      TABLE OF vArquivo
      INDEX BY BINARY_INTEGER;

      vArqXML tArquivo;
      BEGIN
      SELECT d.directory_path
      INTO caminho_xml
      FROM sys.DBA_DIRECTORIES d, sys.DBA_OBJECTS o
      WHERE o.OWNER = d.OWNER
      AND o.OBJECT_NAME = d.DIRECTORY_NAME
      AND o.object_type = 'DIRECTORY'
      AND o.owner = 'SYS'
      AND d.directory_name = 'DIR_XML';

      SYS.DBMS_BACKUP_RESTORE.searchFiles (caminho_xml, ns);

      FOR each_file IN (SELECT FNAME_KRBMSFT AS name
      FROM X_$KRBMSFT
      WHERE FNAME_KRBMSFT LIKE '%.xml')
      LOOP
      DBMS_OUTPUT.PUT_LINE (each_file.name);
      vIndex := vIndex + 1;
      vArqXML (vIndex).id_arq := vIndex;
      vArqXML (vIndex).nm_arquivo := each_file.name;
      END LOOP;
      END;

      Mas quando tento criar ele como uma procedure me retorna o erro

      PL/SQL: ORA-00942: a tabela ou view não existe

      Veriifcando ele aponta para d.OWNER, indicando que o problema seja com a tabela sys.dba_directories.
      Já dei um grant de select para o usuário, mas mesmo continua dando erro.

      []´s
      Roberto

      #102040
      thiagofm
      Participante

        vc deu grant de select diretamente par o usuario ou para alguma role que o usuario tenha grant?

        #102041
        rwarstat
        Participante

          O grant foi diretametne para o usuário.
          Considgo dar um desc na tabela, mas o select não funciona, retornando o erro que falei antes.

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.