«ORA-29913: ошибка при выполнении вызова ODCIEXTTABLEFETCH ORA-29400: ошибка картриджа данных» При попытке запустить выберите команду Stmt на внешней таблице - PullRequest
1 голос
/ 02 ноября 2019

В моей базе данных есть внешняя таблица (my_ext_table), которая указывает на текстовый файл (my_text_file.txt) на жестком диске сервера базы данных. Когда я подключаюсь к серверу базы данных с помощью TOAD, я использую имя пользователя и пароль моей базы данных (my_db_account). Для доступа к текстовому файлу я использую совершенно другого пользователя (my_linux_os_account), который обращается к серверу базы данных с помощью служб терминалов.

Когда я пытаюсь выбрать данные из my_ext_table из TOAD, я получаю следующую ошибку:

[Error] Execution (25: 30): 
ORA-29913: error in executing ODCIEXTTABLEFETCH callout ORA-29400: data cartridge error
KUP-04005: error while accessing file /my_server_dir/my_text_file.txt

В файле журнала содержатся следующие ошибки:

KUP-04017: OS message: Permission denied
KUP-04118: operation "open failed", location "SlfOpen1"

Я могу запросить таблицу при входе в службы терминалов как my_linux_os_account, и я использую вход в sqlplus как my_db_account.

Я бы хотел иметь возможность запросить таблицу с помощью TOAD.

Мой коллега предложил мне попробовать прокси-сервер как пользователь my_linux_os_account.

Возможно ли это сделатьиз окна редактора TOAD? Какой инструмент я должен использовать для прокси-доступа другого пользователя для доступа к данным с помощью оператора select?

В качестве альтернативы, можно ли изменить параметры доступа в текстовом файле, чтобы у пользователя моей базы данных были права на текстфайл

1 Ответ

1 голос
/ 04 ноября 2019

Чтобы заставить запрос работать из TOAD, я изменил разрешения для my_text_file.txt:

chmod o=r my_text_file.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...