The Oracle Provider for OLEDB has some nice methods for retrieving an array from a PL/SQL procedure call and making it appear to be a Recordset object. It's a bit trickier to go in the other direction ...
Well, if you happen to be using Sql Server you can do that sort of thing in T-Sql. In Oracle, you can also accomplish the same thing using pl/sql. Either way i'd do it in a stored ...