создать удаленные внешние таблицы - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть следующая инфраструктура:

Локальный компьютер с ОС Windows, с именем A, с установленным Oracle 12c.Удаленный компьютер с ОС Windows с именем B, сопоставленный с компьютером A.

Я пытаюсь создать внешнюю таблицу на B "AS SELECT" из внутренней таблицы из Oracle (компьютер A).

Для этого:

  1. Я создал каталог в Oracle:

    создать или заменить каталог external_test_dir как 'h: \ external_test_dir';

  2. Я создал внутреннюю таблицу в Oracle:

    создать таблицу TEST_INT (идентификационный номер, текст varchar2 (100));

  3. Вставить значения в таблицу TEST_INT:

    вставить в значения TEST_INT (1, «тест 1»);

    вставить в значения TEST_INT (2, «тест 2»);

  4. Попробуйте создать внешнюю таблицу TEST_EXT, как выбрать из таблицы TEST_INT в удаленном месте.

И я получаю следующее сообщение об ошибке:

Error starting at line 58 in command:
create table TEST_EXT
organization external 
  (
      type ORACLE_DATAPUMP
      default directory EXTERNAL_TEST_DIR 
      location ('TEST_EXT_FILE.csv')
   )
   parallel 2
   as
   select *
    from TEST_INT
Error at Command Line:58 Column:1
Error report:
SQL Error: ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04001: error opening file h:\external_test_dir\TEST_EXT_2480_11532.log
29913. 00000 -  "error in executing %s callout"
*Cause:    The execution of the specified callout caused an error.
*Action:   Examine the error messages take appropriate action.

Может кто-нибудь сказатьмне, что я должен сделать, чтобы решить эту ошибку, пожалуйста?

PS: я попробовал тот же пример с внешней таблицей на той же машине с БД Server и все работает отлично.

Спасибо,

1 Ответ

0 голосов
/ 20 ноября 2018

Вы должны убедиться, что Oracle имеет доступ на чтение / запись к EXTERNAL_TEST_DIR, потому что он должен иметь возможность записывать журнал в тот же каталог.Обратитесь к этой ссылке для получения более подробной информации.

...