question

Aqui está a versão corrigida: Tenho uma pergunta sobre o uso de tabela externa no Oracle?

Oi,

Estou tentando consultar uma tabela externa que aponta para um arquivo no meu sistema Windows 7. O servidor Oracle está sendo executado na mesma máquina.

Eu criei uma pasta de prática na minha unidade "F" e lá eu coloquei meu arquivo de dados emp. Meu arquivo EMP está assim:

GERENCIADOR DE 7782CLARK
7839KINGPRESIDENT
7934MILLERCLERK
7566JONESMANAGER
7499ALLENSALESMAN
7654MARTINALESMAN
7658CHANANALYST
7654MARTINALESMAN

Depois disso, executei as seguintes etapas no meu sqlplus:

conn sys as sysdba

do que
SQL > criar ou substituir o diretório emp_data_dir
SQL > como 'F:\practice'
SQL > grant, ler, escrever no diretório emp_data_dir para ron
SQL > conn ron/ron

Criar tabela emp1
(eno number(10),
Ename varchar2(15),
Dec varchar2(15))
organização externa
(emp_data_dir de diretório padrão
parâmetros de acesso
(registros delimitados por newline
fields terminated by ','
)
Localização ('f:\practice\emp.csv')
);

Quando consulto a tabela externa, ele retorna o seguinte erro.

SQL > Selecione de guia;

TABTYPE TNAME CLUSTERID
-
SPECIES_RATINGS TABELA
EMP MESA
EMPREGADO MESA
EMP1 TABELA

SQL > Selecione de emp1
Selecione de emp1

ERRO na linha 1:
ORA-29913: erro na execução de ODCIEXTTABLEOPEN texto explicativo
ORA-29400: erro de cartucho de dados
KUP-04076: nome do arquivo não pode conter uma especificação de caminho: f:\practice\emp.csv
ORA-06512: em "SYS.ORACLE_LOADER", linha 19

Portanto, alguém poderia me dar uma solução completa ou um exemplo completo no Windows 7, de como posso usar a tabela externa no Oracle 10g.
resposta Resposta

Para a solução do problema com o uso de tabela externa no Oracle em um sistema Windows 7, precisamos seguir os seguintes passos:

  1. Primeiro, você precisa acessar o SQLPlus. Abra o prompt de comando e digite "sqlplus".
  2. Conecte-se com o usuário sys como o sysdba usando o comando:
    conn sys as sysdba
  3. Em seguida, execute os comandos a seguir para criar e configurar o diretório adequado para a tabela externa:
        SQL> CREATE OR REPLACE DIRECTORY emp_data_dir AS 'F:\practice';
        SQL> GRANT READ, WRITE ON DIRECTORY emp_data_dir TO ron;
    
  1. Depois disso, conecte-se com o usuário ron usando o comando:
    conn ron/ron

Agora, crie a tabela externa com o comando a seguir:

        CREATE TABLE emp1
          (eno NUMBER(10),
           Ename VARCHAR2(15),
           Dec VARCHAR2(15))
          ORGANIZATION EXTERNAL
          (TYPE oracle_loader
           DEFAULT DIRECTORY emp_data_dir
           ACCESS PARAMETERS
           (RECORDS DELIMITED BY NEWLINE
            FIELDS TERMINATED BY ',')
           LOCATION ('emp.csv'));
    Ao consultar a tabela externa com o comando:

SELECT  FROM emp1;

Você então deverá ver os resultados desejados sem erros.


ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved