ОК, так что я смог получить эту работу, своего рода.
Оказывается, что при создании ссылки на базу данных, двойные кавычки вокруг полей имени пользователя и пароля вызывали проблему.Подводя итог:
Если они присутствовали, а ссылка создана следующим образом:
create database link remote_link
connect to "remote_user"
identified by "remote_pass"
using 'REMOTE_DB';
- Удаленная база данных может быть запрошена через sql
- Хранимая процедура не может быть скомпилирована, получая ошибку ORA-942
- Поскольку процедура не может быть скомпилирована, она не может быть выполнена
Если двойные кавычки отсутствуют:
create database link remote_link
connect to remote_user
identified by remote_pass
using 'REMOTE_DB';
- Удаленная база данных не может быть запрошена через sql, получив ошибку неверного пароля (подробно в вопросе)
- Хранимая процедура может быть может быть скомпилирована без ошибок.
- Хранимая процедура выполняется так, как ожидается , извлекая данные из ссылки на базу данных и отображая ее.
Таким образом, несмотря на то, что удаленная база данных не может быть запрошена через sql, получая ошибку неверного пароля, процедура, использующая эту информацию о соединении, компилируется и выполняется нормально.
I 'я уверен, что вы согласитесь,Это любопытное состояние событий, и я действительно наткнулся на то, чтобы заставить его работать в моем сценарии.Я не совсем уверен, что назвал бы это решением, так как есть много вопросов без ответов.
Надеюсь, если кто-то придет сюда через Google, он найдет этот ответ полезным и, по крайней мере, запустит свой код.
GC.