Can you add a new stored procedure that uses your current one? It would operate like the DIH expects.
I don't remember if DB cursors are a standard part of JDBC. If they are, it would be a great addition to the DIH if they work right. On Thu, May 31, 2012 at 10:44 AM, Niran Fajemisin <afa...@yahoo.com> wrote: > Thanks for your response, Michael. Unfortunately changing the stored > procedure is not really an option here. > > From what I'm seeing, it would appear that there's really no way of somehow > instructing the Data Import Handler to get a handle on the output parameter > from the stored procedure. It's a bit surprising though that no one has ran > into this scenario but I suppose most people just work around it. > > Anyone else care to shed some more light on alternative approaches? Thanks > again. > > > >>________________________________ >> From: Michael Della Bitta <michael.della.bi...@appinions.com> >>To: solr-user@lucene.apache.org >>Sent: Thursday, May 31, 2012 9:40 AM >>Subject: Re: Using Data Import Handler to invoke a stored procedure with >>output (cursor) parameter >> >>I could be wrong about this, but Oracle has a table() function that I >>believe turns the output of a function as a table. So possibly you >>could wrap your procedure in a function that returns the cursor, or >>convert the procedure to a function. >> >>Michael Della Bitta >> >>------------------------------------------------ >>Appinions, Inc. -- Where Influence Isn’t a Game. >>http://www.appinions.com >> >> >>On Thu, May 31, 2012 at 8:00 AM, Niran Fajemisin <afa...@yahoo.com> wrote: >>> Hi all, >>> >>> I've seen a few questions asked around invoking stored procedures from >>> within Data Import Handler but none of them seem to indicate what type of >>> output parameters were being used. >>> >>> I have a stored procedure created in Oracle database that takes a couple >>> input parameters and has an output parameter that is a reference cursor. >>> The cursor is expected to be used as a way of iterating through the >>> returned table rows. I'm using the following format to invoke my stored >>> procedure in the Data Import Handler's data config XML: >>> >>> <entity name="entity_name" ... query="{call my_stored_proc(inParam1, >>> inParam2)}"> ...</entity> >>> >>> I have tested that this query works prior to attempting to use it from >>> within the DIH. But when I attempt to invoke this stored procedure, it >>> naturally complains that the output parameter is not specified (essentially >>> a mismatch in the number of parameters). >>> >>> I don't know of anyway to pass in a cursor parameter (or any output >>> parameter for that matter) to the stored procedure invocation from within >>> the <entity> definition. I would greatly appreciate if anyone could >>> provide any pointers or hints on how to proceed. >>> >>> Thanks so much for your time >>> >> >> >> -- Lance Norskog goks...@gmail.com