Bonjour,

Je dois migrer une application qui tourne sous VB.NET de la 11g à la 18c. Cette application utilise donc actuellement Oracle.DataAccess.dll.

Toute la partie fonctionnelle/métier est gérée en PL dans la base. VB.NET appelle donc quelques procédures contenues dans des packages. Ces procédures ayant besoin de nombreuses valeurs (paramètres), les objects types d'Oracle avait été utilisé comme paramètres de ces procédures. Dans VB.NET, la class Oracle.DataAccess.Types.OracleUdt avait été implémentée pour gérer ces objects types.
Les objects types sont uniquement utilisés pour passer les paramètres plus facilement, et ils peuvent se propager vers plusieurs autres procédures en fonction des traitements.
Tout fonctionne bien jusqu'à présent.

Mais je dois étudier la migration vers la version 18c. Donc il faut que j'utilise Oracle.ManagedDataAccess.dll et c'est là que les soucis commencent.
Les UDT ne sont plus disponibles avec cette version et en cherchant sur le net, je n'ai pas vu de roadmap pour que ca se fasse.
Donc je vais devoir modifier tout le code (dans VB et dans le PL) afin de virer les objects types.

La solution que j'ai actuellement est de déclarer toutes les propriétés des objects types en paramètres des packages. Mais comme des procédures peuvent avoir 2 ou 3 objects types en paramètres et que ces objects types ont tous une bonne 10e, voire 20e de propriétés, ca fait un sacré taf.

Donc ma question est : y a-t-il une autre solution plus simple à mettre en place ?
Merci de vos conseils