как выгрузить с DBserver без использования его ОС на удаленный сервер

У меня проблема с базой данных оракула. У меня есть база данных, в которой размещена служба, и поэтому я не могу видеть диски или папки базы данных оракула. Следовательно, процедуры, использующие utl_file, перестали работать, так как путь к каталогу теперь недействителен.

Как я буду читать и писать в файловой системе ОС? Мне нужно вытащить отчеты из объединения 2-3 таблиц оракула и вытащить данные в плоский файл. где внешние таблицы и utl_file не могут работать, так как путь к каталогу не может быть определен из-за уровня хостинга, уровень ОС оракула невидим.

Кроме того, монтирование базы данных также не разрешено и права на создание каталога также не предоставляются.

Не могли бы вы пожалуйста, пожалуйста, помогите мне. Спасибо.


person user2967055    schedule 07.11.2013    source источник
comment
Я не понимаю вопроса. Что означает размещение службы в этом контексте и как это связано с тем, можете ли вы видеть диски или папки базы данных Oracle. Что изменилось между временем, когда процедуры работали, и сегодняшним днем. Я предполагаю, что вы говорите, что вы разработали приложение локально, которое полагается на utl_file, но ваше приложение теперь размещается третьей стороной, которая запрещает доступ к файловой системе хоста. Это близко? Если это так, вам нужно переосмыслить дизайн приложения или выбор хостинговой компании.   -  person Justin Cave    schedule 08.11.2013


Ответы (1)


Если у вас есть привилегии sysdba на коробке, сделайте что-то вроде следующих строк:

SQL> CREATE DIRECTORY log_dir AS '/appl/gl/log'; 
SQL> GRANT READ ON DIRECTORY log_dir TO DBA; 
SQL> GRANT WRITE ON DIRECTORY log_dir TO DBA; 

Если у вас нет этих привилегий, то попросите хостинговую компанию сделать это. Кроме того, вы всегда можете записать файл отчета с помощью sqlplus на свой локальный диск.

person steve    schedule 09.11.2013