Определяемые пользователем типы управляемых драйверов Oracle

Я ищу новые функции драйвера, управляемого Oracle, поскольку я вижу, что многие вещи не поддерживаются для пользовательских типов в Oracle (OracleArrayMappingAttribute

IOracleArrayTypeFactory и т. Д.), Есть ли способ поддерживать типы UDT в управляемом драйвере

Oracle ODP.net управляемый против неуправляемого драйвера

https://docs.oracle.com/database/121/ODPNT/intro004.htm

Спасибо

2 ответа

Вы правы - на сегодняшний день (6/5/18) управляемый драйвер ODP.NET не поддерживает UDT. Я бы предложил использовать хранимые процедуры PL/SQL для преобразования UDT в тип или типы, которые ODP.NET может обрабатывать. Кроме того, переоцените ваше использование UDT. Они имеют негативное влияние на производительность, и я бы не рекомендовал их использовать, если вас не заставят (либо пакеты Oracle PL/SQL, которые их используют (например, Oracle Spatial), либо другие пакеты, которые вы не можете обернуть в другой SP).

Кроме того, вы можете посмотреть, можете ли вы использовать неуправляемый драйвер ODP.NET, но я понимаю, что это может быть неприемлемо.

Спустя три года здесь появляется поддержка UDT управляемого драйвера для .NET и .NET Core:

и

Выпуск 21.3 включает поддержку UDT, и вы можете найти дополнительные сведения, такие как миграция существующих проектов или примеры кодов, в сообщении в блоге: Объявление ODP.NET 21.3 - определяемые пользователем типы для управляемого ODP.NET и ODP.NET Core

Он только что выпущен, и я собираюсь попробовать, поэтому не ждите, что я отвечу на дальнейшие вопросы:D. Возможно, вы захотите посетить ветку GitHub, чтобы присоединиться к обсуждениям.

Другие вопросы по тегам