I have the same question. Can anyone from Oracle answer it?
OracleDbType.Array is available in unmanaged ODP.NET. We do not currently have a timetable for UDT support. It has not received many votes in Oracle's .NET Feature Request Tool. There are numerous other features with more votes.
You can vote for ODP.NET, Managed Driver UDTs here:
Here are all the Oracle .NET Feature Requests from customers:
Sorry Alex, but this feature should not be an user dependent choice.
First: it's too important to be subject to a poll with little representation in the community.
Second: can you imagine an Oracle RDBMS without it nowadays ? It's mandatory in any Oracle client software.
Currently it's impossible to pass a simple array from .NET client to Oracle server (or vice versa).
What I should do to call a procedure expecting to pass 45 values to the server ? Declare a procedure with 45 parameters ?
As I said earlier, only very simple projects may prescind UDTs. Too few in real life, outside college.
As a side note, I'm a programmer for more than 20 years and I cannot understand why would be so difficult to implement a simple thing like an array of a native data type.
If you need to pass a simple array between the Oracle DB and .NET, please consider using PL/SQL associative array, which is available for managed ODP.NET. The managed ODP.NET Oracle By Example shows a demo with using the associative array.
I want to make clear that the VARRAY type may appear simple to implement, but it is not. There is a larger Oracle UDT infrastructure around it. We can't implement just the VARRAY portion without doing most all the work for the rest of UDTs as well. A partial UDT implementation would not be usable. It' almost an all-or-nothing proposition.
We're going to evaluate the demand level for each feature, plus work involved for each to prioritize future feature releases. I encourage everyone who wants this feature to vote for it.