使用Win32:ODBC调用Oracle StoredProc [英] Calling Oracle StoredProc using Win32:ODBC

查看:110
本文介绍了使用Win32:ODBC调用Oracle StoredProc的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I'm using Perl 5, version 14.The Win32::ODBC is VERSION = '0.034'; and Oracle as database. Im able to reteive information from the database using queries like "emp_id, emp_name from emp" by the following code





使用Win32 :: ODBC ;



$ db = new Win32 :: ODBC(DSN = datasourcename; UID = username; PWD = passwrd)||

+死错误:。 Win32 :: ODBC :: Error();





$ db-> Sql(SELECT emp_Id,emp_name,salary FROM Sample .Emp);



while($ db-> FetchRow())

{

@ values = $ db->数据;

打印@values;

}

$ db->关闭();





use Win32::ODBC;

$db= new Win32::ODBC("DSN=datasourcename;UID=username;PWD=passwrd") ||
+ die "Error: " . Win32::ODBC::Error();


$db->Sql("SELECT emp_Id, emp_name, salary FROM Sample.Emp");

while($db->FetchRow())
{
@values = $db->Data;
print @values;
}
$db->Close();

Instead of using quries in the perl program, I like to use stored procedures. I have created a storedproc called sp_rank.





PROCEDURE sp_rank(p_cursorVar out CursorType)



开始

打开p_cursorVar

从emp选择emp_id,emp_name;



结束sp_rank ;





PROCEDURE sp_rank(p_cursorVar out CursorType)
is
begin
open p_cursorVar for
select emp_id, emp_name from emp;

End sp_rank;

I would like to know how to pass storedproc name in the perl and retrieve the data.

推荐答案

db = new Win32 :: ODBC(DSN = datasourcename; UID = username; PWD = passwrd)||

+ die 错误:。 Win32 :: ODBC ::错误();




db= new Win32::ODBC("DSN=datasourcename;UID=username;PWD=passwrd") ||
+ die "Error: " . Win32::ODBC::Error();



db-> Sql(SELECT emp_Id ,emp_name,salary FROM Sample.Emp);



while(
db->Sql("SELECT emp_Id, emp_name, salary FROM Sample.Emp");

while(


db-> FetchRow())

{

@values =
db->FetchRow())
{
@values =


这篇关于使用Win32:ODBC调用Oracle StoredProc的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆