我使用的是商业供应商API,并且需要按照其部分说明进行帮助:
API文件摘要: 7)下一步是使用以下oracle函数找到ELEMENT_ID。
nElementID:= PK_TMX_STORAGE_MANAGEMENT.F_FIND_ID_BY_ADDRESS('FF-S01-R01-T01-001',nBankID);
我需要在VB.Net webservice中运行此函数(C#代码也可以)并且我不确定语法。我是否将其作为存储过程运行,如果是这样,我如何将两个变量('FF-S01-R01-T01-001',nBankID)传递给函数。
或者我以某种方式将它包装在Select Statement中,如果需要FROM TABLE?
我知道存储的过程和函数很接近,但我遇到了systax的问题。
我回来了 ORA-06550:第1行第7列: PLS-00221:' F_FIND_ID_BY_ADDRESS'不是程序或未定义 ORA-06550:第1行第7列: PL / SQL:语句忽略错误
由于
答案 0 :(得分:0)
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()