Опыт непосредственной работы с NCA у нас небольшой, а вот метод каналов мы использовали успешно. Отметим, однако, что по мере роста канального трафика могут возникать нежелательные задержки. Оба метода предусматривают передачу сообщений, что прекрасно с объектной точки зрения, но может показаться чрезмерным несчастному автору программы. Методы требуют наличия устойчивых механизмов контроля, гарантирующих работоспособность прослушивателя канала или обслуживающих картриджей. И то, и другое решение неизбежно приведет к увеличению затрат на администрирование систем.
Результат — множество запросов к Oracle для вызова из SQL (или PL/SQL) ЗОЬ-программ, находящихся на сервере. В OracleS данная возможность реализована. Если вы не можете найти ее ни в одном руководстве, это, вероятно, объясняется тем, что в комплекте документации Oracle данное средство называется внешними процедурами. Обращение к ЗСЬ-программе должно производиться из PL/SQL (а не из SQL). Подробнее этот механизм описан в документе Oracle PL/SQL User's Guide and Reference.
К сведению:
Отсутствие прямого 3GL-HHTep(J:>eHca из SQL — второстепенная деталь, поскольку можно встраивать вызовы функций PL/SQL в предложение SQL, а эти функции, в свою очередь, могут вызывать внешнюю процедуру.
Ограничения при вызове ЗОЬ-программ
Поддержка обращений к SGL-программам сопровождается рядом существенных ограничений. Вероятно, наиболее значительными из них являются следующие:
•    поддерживается только язык С;
•    обращение должно производиться с выделенного, а не с много поточного сервера (МПС);
•    3GL-nporpaMMa работает в отдельном от сервера Oracle процессе (extproc).
Первое ограничение играет небольшую роль, если вы программируете на С, и практически не играет никакой роли, если вы программируете на C++. (С и C++ достаточно похожи для того, чтобы вы уже могли написать требуемую интерфейсную программу.) Это ограничение, однако, может стать серьезной преградой, когда вы захотите написать программу на любом другом языке, потому что для создания интерфейсного слоя вам понадобится хорошо изучить С.
Н/тмсчанне:
Корпорация Oracle объявила, что версия 8.1 будет непосредственно поддерживать Java как язык внешних процедур.
Второе ограничение — это очевидная терминальная проблема, если вы должны использовать МПС. В других случаях она значения не имеет.
36	OracleS