gpt4 book ai didi

c# - 如何从 C# 运行 Oracle 函数(对比 2012)

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:43 25 4
gpt4 key购买 nike

我正在尝试运行我在 Oracle 中拥有的功能,我从来没有只使用 sql2008 与 Oracle 合作,所以我是新手。

这里是 Oracle 中我需要调用并取回整数的函数:

create or replace function vb_new_serial return integer is
Result integer;
begin
select vbserial.nextval into result from dual;
return(Result);
end vb_new_serial;

这个函数不明白它只是返回整数。

我试过了,但我收到错误 PLS-00221: 'VB_NEW_SERIAL' is not a procedure or is undefined :

  using (System.Data.OracleClient.OracleConnection con = new System.Data.OracleClient.OracleConnection(strConn2))
{
con.Open();
System.Data.OracleClient.OracleCommand cmd = new System.Data.OracleClient.OracleCommand("vb_new_serial");
cmd.CommandType = System.Data.CommandType.StoredProcedure;
//System.Data.OracleClient.OracleParameter returnVal = new System.Data.OracleClient.OracleParameter("value", null);
// cmd.Parameters.Add(returnVal);
cmd.Connection = con;
System.Data.OracleClient.OracleDataReader odr = cmd.ExecuteReader();//here i have error
while (odr.Read())
{
Console.WriteLine(odr.GetOracleValue(0));
}
Console.ReadLine();
}

我做错了什么?

最佳答案

你定义的第一个参数应该是返回值:

cmd.Parameters.Add("Return_Value", OracleDbType.Int32, ParameterDirection.ReturnValue);

关于c# - 如何从 C# 运行 Oracle 函数(对比 2012),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25957626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com