Oracle: как сохранить результат запроса на уровне Unix - PullRequest
0 голосов
/ 21 октября 2011

Как я могу сохранить результат запроса в файловой системе Unix.Если это возможно, мне нужно пошаговый процесс.

Что я сделал.создал каталог в файловой системе Unix.создал каталог в oracle, указывая его на каталог файловой системы Unix.

пытался подделать результат в файловой системе Unix, но по некоторым причинам это не помогло.

был бы признателен, если бы 1 помогработает на клиенте windows xp.Среда: oracle 11g и приложение: TOAD для oracle 11.

Ответы [ 2 ]

1 голос
/ 11 мая 2012

Вы можете использовать внешнюю таблицу выгрузки.это создаст файл дампа результатов запроса в формате datapump (вы можете импортировать этот файл, используя impdp)
Для этого создайте внешнюю таблицу с типом ORACLE_DATAPUMP.

вот пример:

SQL> 
SQL> 
SQL> 
SQL> CREATE TABLE emp_ext
ORGANIZATION EXTERNAL
(
 TYPE ORACLE_DATAPUMP
 DEFAULT DIRECTORY EXPORT
LOCATION ( 'emp_ext.dmp' )
 )
 AS SELECT * FROM SCOTT.EMP;  

Table created.

SQL> select count(*) from emp_ext;

  COUNT(*)
----------
        18

SQL> !ls /export/home/oracle/export     
 EMP_EXT_13392.log  emp_ext.dmp
0 голосов
/ 05 января 2012

первый.Создайте каталог в файловой системе Unix (не под вашим именем, иначе он не будет работать), затем chmod 777 <dir_path>.

2nd Создайте каталог в oracle

CREATE OR REPLACE DIRECTORY <dir_name> AS '<dir_path>';

Теперь, чтобы проверить его

create or replace procedure  WRITEFILE is
       fh UTL_FILE.FILE_TYPE;                                                   
       dir VARCHAR2(30) := '<dir_name>';                                                        
       name VARCHAR2(30)  := 'test1';                                                       
    begin                                                                    

       fh := UTL_FILE.FOPEN(dir, name, 'w');                                    
       UTL_FILE.PUT_LINE(fh, 'bla bla');                                         
       UTL_FILE.FCLOSE(fh);
    end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...