通过vb.net进行简单的插入操作,但得到错误:
ORA-06550:第1行,第7列:请-00306:调用'PROCEDURE_NAME‘ORA-06550中错误的参数数或类型:第1行,第7列:
可能是我错过或忽略了什么。一些帮助将是非常感谢的。
SQL:
CREATE OR REPLACE procedure SG.PROCEDURE_NAME(
TypeDefinitionFinal in Char,
TypeValueFinal in Char,
ValidFrom in Char,
ValidTo in Char,
MethodType in integer,
MethodValue in number,
Reason in Char,
CurrentTimeStamp in Date,
LoggedUser in Char,
StoresList in Char
) as
begin
INSERT INTO TABLE_NAME
(TYPE_DEFINITION, TYPE_VALUE, VALID_FROM, VALID_TO, METHOD, VALUE, REASON, CREATE_TIMESTAMP, ENTERED_BY)
VALUES
(TypeDefinitionFinal ,TypeValueFinal ,ValidFrom ,ValidTo ,MethodType ,MethodValue ,Reason ,CurrentTimeStamp ,LoggedUser );
end;
/VB.NET代码:
Dim OraCommand As New OracleCommand("SG.PROCEDURE_NAME", OraConnection)
OraCommand.CommandType = CommandType.StoredProcedure
OraCommand.Parameters.Add(New OracleParameter("TypeDefinitionFinal", OracleType.Char)).Value = TypeDefinitionFinal
OraCommand.Parameters.Add(New OracleParameter("TypeValueFinal", OracleType.Char)).Value = TypeValueFinal
OraCommand.Parameters.Add(New OracleParameter("ValidFrom", OracleType.Char)).Value = ValidFrom
OraCommand.Parameters.Add(New OracleParameter("ValidTo", OracleType.Char)).Value = ValidTo
OraCommand.Parameters.Add(New OracleParameter("MethodType", OracleType.Int32)).Value = MethodType
OraCommand.Parameters.Add(New OracleParameter("MethodValue", OracleType.Number)).Value = MethodValue
OraCommand.Parameters.Add(New OracleParameter("Reason", OracleType.Char)).Value = Reason
OraCommand.Parameters.Add(New OracleParameter("CurrentTimeStamp", OracleType.DateTime)).Value = CurrentTimeStamp
OraCommand.Parameters.Add(New OracleParameter("LoggedUser", OracleType.Char)).Value = LoggedUser
OraCommand.Parameters.Add(New OracleParameter("StoreList", OracleType.Char)).Value = StoreList
OraCommand.ExecuteNonQuery()发布于 2014-12-30 15:58:23
这只是一个参数名的差异。在您的过程定义中,有:
StoresList in Char但是在您的VB代码中,您有一个稍微不同的名称,缺少一个s
OraCommand.Parameters.Add(New OracleParameter("StoreList", OracleType.Char)).Value = StoreList将"StoreList"更改为"StoresList",或将过程定义更改为StoreList --只要它们匹配,您采用哪种方法并不重要。
https://stackoverflow.com/questions/27685240
复制相似问题