Корпорация Майкрософт SQL сервер, сервера, связанного с базой данных Oracle с ссылку базы данных в другую базу данных Oracle
Всем привет,
Я испытываю проблему с Microsoft SQL Server 2014 (позже называемым (S1)), подключенным к базе данных ORACLE12 (позже называемой (O1)) через связанный сервер. Эта база данных ORACLE также подключается к другой базе данных ORACLE12 (позже называемой (O2)) с помощью ссылки на базу данных. База данных O1 имеет функцию пакета, которая вызывается S1 с помощью afaik MSDTC (это работает, как и ожидалось) каждый раз в отдельной транзакции. Теперь я пытаюсь вызвать другую функцию из базы данных O1 через ссылку базы данных в базе данных O2. Это работает (со стандартной конфигурацией ORACLE) ровно 4 раза и терпит неудачу в 5-й раз с ошибкой ORACLE " ORA-02020:
слишком много ссылок на базы данных используется". Через несколько минут это снова работает (ровно в 4 раза не удается в 5-й раз и так далее). Если я не вызываю функцию на O2 из O1 по ссылке базы данных, то вызов из S1 в O1 работает как заклинание. Как функции O1, так и функции O2 не выполняют никакой фиксации или отката, и доступ к этим функциям очень ограничен, поскольку они специфичны для клиента.
Есть ли у кого-нибудь опыт такого поведения и какие-либо идеи, как обойти эту проблему?
Любая помощь будет оценена по достоинству.
Что я уже пробовал:
Я уже изменил параметр ORACLE OPEN_LINKS, но единственным результатом было то, что он работает 10 раз, если я установил параметр равным 10. Как описано, вызов от S1 к O1 работает так, как ожидалось, но как только появляется O2, он завершается неудачей после времени OPEN_LINKS.