powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ошибка при обращении к preprocessor на external table
5 сообщений из 5, страница 1 из 1
ошибка при обращении к preprocessor на external table
    #39376507
perf_digger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Мне нужно обращаться к external table с использованием preprocessor.
Создаю по примеру из http://oracle-developer.net/display.php?id=513
OC - Win2008R2
На oracle 11.2.0.3 всё выполняется прекрасно.
На 12.1.0.2 выдаёт ошибку.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
sys@ORCL>; def
...
DEFINE _O_VERSION      = "Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE      = "1201000200" (CHAR)

sys@ORCL>; grant read, write, execute on directory scripts_dir to adm;

Grant succeeded.

sys@ORCL>; create table adm.files_xt
  2    (  file_info varchar2(255)
  3    )
  4    organization external
  5    (
  6      type oracle_loader
  7      default directory SCRIPTS_DIR
  8      access parameters
  9      (
 10         records delimited by newline
 11         preprocessor SCRIPTS_DIR: 'list_files.bat'
 12      )
 13      location ('sticky.txt')
 14    )
 15    reject limit unlimited
 16   /

Table created.

sys@ORCL>; select * from adm.files_xt  ;
select * from adm.files_xt
*
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04001: error opening file d:\oracle\test\sticky.txt


Содержимое файла list_files.bat:
@echo off
dir d:\oracle\scripts

Файл sticky.txt создан заблаговременно.

В log-файле после обращения к ext table такие сообщения:

KUP-04001: ошибка при открытии файла d:\oracle\test\sticky.txt
KUP-04017: Сообщение ОС: Отказано в доступе.
KUP-04118: операция "open failed", местоположение "skudmio_winc"

Повторюсь, на 11g всё выполняется прекрасно.
Здесь пример с получением списка директорий, но мне другие задачи надо решать.

Что посоветуете? Как заставить external table с preprocessor работать на 12с ?
...
Рейтинг: 0 / 0
ошибка при обращении к preprocessor на external table
    #39376516
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У 12-го изменился пользователь ОС, под которым предлагается запускать СУБД.
Раньше запускалось под SYSTEM, теперь предлагается делать отдельной ограниченной учеткой.
Посмотрите, так ли это, если да - дайте этой учетке права на этот каталог.
...
Рейтинг: 0 / 0
ошибка при обращении к preprocessor на external table
    #39376539
perf_digger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пользователь Local System Account в обоих случаях.
Запустил службу 12с от пользователя Администратор - ошибка при select та же самая.
...
Рейтинг: 0 / 0
ошибка при обращении к preprocessor на external table
    #39376677
perf_digger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, оказывается, баг в 12.1.0.2.
Подсказали workaround:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
  ...
  access parameters
    (
       records delimited by newline
       DISABLE_DIRECTORY_LINK_CHECK
       preprocessor SCRIPTS_DIR: 'list_files.bat'
    )


Добавляется параметр DISABLE_DIRECTORY_LINK_CHECK и всё работает.
...
Рейтинг: 0 / 0
ошибка при обращении к preprocessor на external table
    #39376685
dba123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
perf_digger,

а если локально с сервера зайти пользователем из группы ora_dba и повторить запрос?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ошибка при обращении к preprocessor на external table
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]