0

私はオラクルの手順でこの更新ステートメントを持っています

仕様:

PROCEDURE Update_G;

体:

PROCEDURE Update_G
AS
BEGIN
  UPDATE group SET check_flag = 0 WHERE check_flag = 1;
  UPDATE employee SET check_flag = 0 WHERE check_flag = 1;
END Update_G;

.netからスローエラーを呼び出すときのこの手順:

PLS-00306: wrong number or types of arguments in call to Update_G

Oracleから実行されますが、.netからはエラーがスローされます。入力パラメーターを追加すると機能しますが、パラメーターは必要ありません。

ドットネットコード:

Database db = GetOracleDbInstance(); 
object[] spParams = new object[0]; 
string spName = "Update_G"; 
db.ExecuteDataSet(spName, spParams); 

//ここにはパラメータはありません。私もこれを試しました:

Database db = GetOracleDbInstance(); 
db.ExecuteNonQuery(CommandType.StoredProcedure, "Update_G");
4

1 に答える 1

0


// プロシージャに必要なパラメータ。パラメータがない場合は Null を渡す

Database db = GetOracleDbInstance(); 

string spName = "Update_G"; 
db.ExecuteDataSet(spName, Null); //or db.ExecuteDataSet(spName); try both


回答参照

于 2012-06-06T09:02:10.420 に答える