oracle stored procs

A

AndrewMcDonagh

Hi,

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

Cheers

Andrew
 
D

Daniel Berger

AndrewMcDonagh said:
Hi,
=20
Has anyone managed to get calls to oracle stored procs to work yet?
=20
Cheers
=20
Andrew
=20

Sure. Using DBI with OCI8:

dbh =3D DBI.connect(dsn, user, pass)
sth =3D 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=20
prohibited and may be unlawful. If you have received this communication =

in error, please immediately notify the sender by reply e-mail and =
destroy=20
all copies of the communication and any attachments.
 
J

Jason Sweat

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
 
A

AndrewMcDonagh

Daniel said:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top