C# 运行Oracle函数,而不是.NET中包中的存储过程
我正在使用一个商业供应商API,需要按照其说明的一部分提供帮助: 引用API文档: 7下一步是使用以下oracle函数定位元素_ID nElementID:=PK_TMX_存储_管理。通过地址'FF-S01-R01-T01-001',nBankID查找_ID_ 我需要在VB.NETWebService中运行这个函数,C代码也很好,我不确定语法。我是否将其作为存储过程运行?如果是,我如何将两个变量“FF-S01-R01-T01-001”nBankID传递到函数中 或者我是否以某种方式将其包装在Select语句中,如果我需要一个FROM表 我知道存储过程和函数很接近,但我在使用systax时遇到了问题 我回来了 ORA-06550:第1行第7列: PLS-00221:“按地址查找ID”不是程序或未定义 ORA-06550:第1行第7列: PL/SQL:语句被忽略错误C# 运行Oracle函数,而不是.NET中包中的存储过程,c#,.net,vb.net,oracle,C#,.net,Vb.net,Oracle,我正在使用一个商业供应商API,需要按照其说明的一部分提供帮助: 引用API文档: 7下一步是使用以下oracle函数定位元素_ID nElementID:=PK_TMX_存储_管理。通过地址'FF-S01-R01-T01-001',nBankID查找_ID_ 我需要在VB.NETWebService中运行这个函数,C代码也很好,我不确定语法。我是否将其作为存储过程运行?如果是,我如何将两个变量“FF-S01-R01-T01-001”nBankID传递到函数中 或者我是否以某种方式将其包装在Se
谢谢这到底是什么Oracle程序?这是OracleDB吗?或者一个不同的程序?我正在使用OracleDB 10.2,使用返回数据源=描述=地址\列表=地址=协议=TCPHOST=XXXXX端口=1521连接\数据=服务器=专用服务\名称=xx的连接字符串;用户Id=xxx;密码=xxx;请看这里如何将值传递到存储过程感谢链接,但我在将参数传递到存储过程时没有遇到任何问题。请编辑您的问题,并包含您用来尝试调用函数的C代码。谢谢
Dim str As String = "PK_TMX_STORAGE_MANAGEMENT.F_FIND_ID_BY_ADDRESS"
Dim OracleCMD As OracleCommand = New OracleCommand(str, OracleConn)
OracleCMD.CommandType = CommandType.StoredProcedure
DIM ELEMENT_ID as OracleParameter = new OracleParameter("ELEMENT_ID",OracleDbType.Int32)
ELEMENT_ID.Direction = ParameterDirection.ReturnValue
OracleCMD.Parameters.Add(ELEMENT_ID)
OracleCMD.Parameters.Add(New OracleParameter("ADDRESS", OracleDbType.VARCHAR2, ParameterDirection.Input)).Value = STORAGE_ADDRESS
OracleCMD.Parameters.Add(New OracleParameter("BANK_ID", OracleDbType.Int32 , ParameterDirection.Input)).Value = BANK_ID
OracleConn.Open()
OracleCMD.ExecuteNonQuery()
Return System.Convert.ToString(OracleCMD.Parameters("ELEMENT_ID").Value )
OracleConn.Close()