日期:2014-05-18  浏览次数:21179 次

本机框架位于调用堆栈之上,因此无法计算表达式的值。
在C#种访问Oracle数据库存储过程,出现这个问题,代码如下:
public void newPlan()
  {
  planForm = new newPlanForm();//需要时生成;
  note = planForm.newPlanNote();
  OracleParameter noetPara=new OracleParameter("note",OracleType.VarChar);
  OracleParameter planID=new OracleParameter("newplanid",OracleType.Number);
  planID.Direction=ParameterDirection.Output;
  noetPara.Value = note;
  noetPara.Direction = ParameterDirection.Input;
  OracleCommand tempOraCmd = new OracleCommand("sp_newplan", new OracleConnection(this.planSqlCmd.retConnectString()));
  tempOraCmd.CommandType = CommandType.StoredProcedure;
  tempOraCmd.Parameters.Add(noetPara);
  tempOraCmd.Parameters.Add(planID);
  tempOraCmd.Connection.Open();
  tempOraCmd.ExecuteNonQuery();
  tempOraCmd.Connection.Close();
  this.planID= (int)(planID.Value);
  }

------解决方案--------------------
我记得调用 ASP.net 调用 Response.Redirect 很容易出现这个问题

调用 Oracle这么长时间还真没看见过。你那行代码出的错误啊
把错误堆栈贴出来看看!

完整的错误信息

如果是 ExecuteNonQuery 用个抓包软件看看向 oracle 发送SQL 没 tode 好像有着功能