groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arthur Ramsey <arthur_ram...@mediture.com>
Subject Re: Groovy SQL stored procedure result processing
Date Tue, 26 May 2015 15:05:07 GMT
I tried eachRow and only get the first row.  No there are no OUT params.

On 5/26/2015 3:20 AM, Paul King wrote:
>
> I am not a Perl expert but from what I see here, you should only need 
> to use
> rows or eachRow. Does the stored procedure definition have any OUT 
> params?
> It doesn't look like it from the Perl.
>
> Cheers, Paul.
>
> On 26/05/2015 5:07 AM, arthur_ramsey@mediture.com wrote:
>> Hello,
>>
>> I'm new to Groovy and I'm trying to port the following perl DBI code 
>> to Groovy SQL.  The code executes a stored procedure that produces 
>> multiple logging statements as results (not an OUT parameter).
>>
>> my $sth = $dbh->prepare("CALL 
>> spLoad_whse_subjectarea(?,true,?,?,?,?,?)");
>> $sth->execute($_[0],$_[1],$_[2],$_[3],$_[4],$_[5]);
>> do {
>>     while (@row = $sth->fetchrow_array) {
>>         foreach (@row) {
>>             print "$_ ";
>>         }
>>         print "\n";
>>     }
>> } while ($sth->more_results);
>>
>> The following Groovy code captures everything, but it blocks until 
>> the stored procedure completes unlike the perl code which processes 
>> results prior to completion.  The effect is delayed logging.
>>
>> sql.execute('SET @data_history_units = ?',data_history_units)
>> List<List<GroovyRowResult>> results = sql.callWithAllRows'{call 
>> spLoad_whse_subjectarea(?,?,?,?,?,?,?)}', [in_step, run_step, 
>> in_step_title, in_procedure, in_current_stmt, in_start_data, 
>> in_run_count], {}
>> results.each {result  ->
>>      result.each { row ->
>>          row.each {
>>              log.info(it.value.toString())
>>          }
>>      }
>> }
>>
>> I also tried sql.eachRow, but that seems to only get the first 
>> result.  I had a similar outcome with perl DBI before I added the 
>> "while ($sth->more_results)".  Is there anyway I can better emulate 
>> the perl code even if I have to interact with jdbc more closely?
>>
>>
>>
>>
>>
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> http://www.avast.com
>




Mime
View raw message