[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

oracle stored procs

AndrewMcDonagh

7/26/2006 6:45:00 PM

Hi,

Has anyone managed to get calls to oracle stored procs to work yet?

Cheers

Andrew
3 Answers

Berger, Daniel

7/26/2006 7:00:00 PM

0

AndrewMcDonagh wrote:
> Hi,
>
> Has anyone managed to get calls to oracle stored procs to work yet?
>
> Cheers
>
> Andrew
>

Sure. Using DBI with OCI8:

dbh = DBI.connect(dsn, user, pass)
sth = dbh.prepare("begin foo.some_proc; end;")
sth.execute

I don't think Kubo supports in/out parameters yet, though it has been discussed.

Regards,

Dan


This communication is the property of Qwest and may contain confidential or
privileged information. Unauthorized use of this communication is strictly
prohibited and may be unlawful. If you have received this communication
in error, please immediately notify the sender by reply e-mail and destroy
all copies of the communication and any attachments.

Jason Sweat

7/26/2006 7:05:00 PM

0

On 7/26/06, AndrewMcDonagh <newsamd@amc.com> wrote:
> Hi,
>
> Has anyone managed to get calls to oracle stored procs to work yet?

Works fine for me out of the box. Here are some extentions I made to
the OCI8 class to make it easier for me to deal with a ref cursor
returned from a package function:

class OCI8
class Cursor
def get_array
ret = []
while row = self.fetch_hash
ret << row
end
ret
end
def bind(binds)
binds.each_pair do |k,v|
if v.respond_to? :indices
self.bind_param(k, v[0], v[1], v[2])
else
self.bind_param(k, v)
end
end if binds
end
end

def get_ref(plsql, binds=false, &block)
cur = self.parse('begin :rs := '+plsql+'; end;')
cur.bind_param(':rs', OCI8::Cursor)
cur.bind(binds)
cur.exec
if block_given?
arr = cur[':rs'].get_array.collect &block
else
cur[':rs'].get_array
end
end
end

--
Regards,
Jason
http://blog.casey...

AndrewMcDonagh

7/26/2006 7:45:00 PM

0

Daniel Berger wrote:
> AndrewMcDonagh wrote:
>> Hi,
>>
>> Has anyone managed to get calls to oracle stored procs to work yet?
>>
>> Cheers
>>
>> Andrew
>>
>
> Sure. Using DBI with OCI8:
>
> dbh = DBI.connect(dsn, user, pass)
> sth = dbh.prepare("begin foo.some_proc; end;")
> sth.execute
>
> I don't think Kubo supports in/out parameters yet, though it has been
> discussed.
>
> Regards,
>
> Dan
>
>
> This communication is the property of Qwest and may contain confidential or
> privileged information. Unauthorized use of this communication is
> strictly prohibited and may be unlawful. If you have received this
> communication in error, please immediately notify the sender by reply
> e-mail and destroy all copies of the communication and any attachments.
>
sweet cheers!

last time I looked it didn't work or work well - hence the question.

Andrew