powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Внешняя таблица. Не выбираются данные.
7 сообщений из 7, страница 1 из 1
Внешняя таблица. Не выбираются данные.
    #39900574
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, помогите, пожалуйста. Голову слоал уже, хотя понимаю, что проблема, скорее всего, пустяковая, но никак не соображу в чем дело.
Есть скрипт создания внешней таблицы:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create table FILES_XT
(
  file_name VARCHAR2(255)
)
organization external
(
  type ORACLE_LOADER
  default directory XT_DIR
  access parameters 
  (
    RECORDS DELIMITED BY NEWLINE
    DISABLE_DIRECTORY_LINK_CHECK
    BADFILE XT_DIR: 'sales.bad_xt'
    LOGFILE XT_DIR: 'sales.log_xt'
    PREPROCESSOR BIN_DIR: 'list_files.cmd'
  )
  location (XT_DIR:'sticky.txt')
)
reject limit UNLIMITED;


Данные в файле sticky.txt
Код: plaintext
1.
2.
GRANTS_13.57.LOG
GRANTS_13.60.LOG
А вот результат запроса:
Код: plaintext
1.
2.
3.
UTILS_SERGE@budget>;select * from files_xt;

строки не выбраны
Причем в логах никакой ошибки нет
авторфайл LOG открыт в 12/10/19 09:16:52

KUP-05004: Предупреждение. Параллельность внутри источника отключена из-за отсутствия запроса на параллельный выбор.

KUP-05007: Предупреждение. Параллельность внутри источника отключена из-за использования параметра препроцессора.

Определения полей для таблицы FILES_XT
Формат записи DELIMITED BY NEWLINE
Данные файла имеют тот же endianness, что и платформа
Допускаются строки с неопределенными значениями всех полей

Поля в источнике данных:

FILE_NAME CHAR (255)
Заканчивается на ","
Ограничивающий пробел как и в SQL Loader


Что я делаю неправильно из-за чего из внешней таблицы не выбираются строки?
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900577
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары
Что я делаю неправильно
Ты осознаешь смысл всех ключевых слов в приведенном ddl?
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900584
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,
Я очень благодарен за Вашу помощь и за то, что указали мне на ошибку. Ваша помощь была бесценной.

P.s. Сознаю, но поскольку работаю с внешними таблицами впервые, возможно где-то напутал и не вижу этого из-за отсутствия опыта, потому и прошу помощи, а не тыканья в мою глупость. Знаю, что где-то накосячил и мне не требуется, чтобы мне указывали на этот факт. Я его и сам знаю.
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900585
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без PREPROCESSOR у меня работает.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create table FILES_XT
(
  file_name VARCHAR2(255)
)
organization external
(
  type ORACLE_LOADER
  default directory TEMP
  access parameters 
  (
    RECORDS DELIMITED BY NEWLINE
    DISABLE_DIRECTORY_LINK_CHECK
    BADFILE TEMP: 'sales.bad'
    LOGFILE TEMP: 'sales.log'
  )
  location (TEMP:'sales.txt')
)
reject limit UNLIMITED;
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900591
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Гм... действительно. Похоже, он считывает данные раньше, чем cmd-шник успевает его пересоздать. Очень странно...
Я полагал, что в этом и суть PREPROCESSOR, что он сначала выполняет команду, а потом уже берет данные
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900594
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары,

Хотя нет. Я подсовывал другой файл, который не обрабывался командой и все равно строки не выбирались. Значит, косяк у меня где с этой командой.
...
Рейтинг: 0 / 0
Внешняя таблица. Не выбираются данные.
    #39900607
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары
Я полагал, что в этом и суть PREPROCESSOR, что он сначала выполняет команду, а потом уже берет данные
Источник полагания? В документации хоть и присутствуют неуместные сентенции, но суть препроцессора пояснением в скобочках обозначена однозначно - stdout.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Внешняя таблица. Не выбираются данные.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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