将文件保存到Oracle数据库时出错
错误信息:ORA-01036: 非法的变量名/编号
代码:请大家帮我看看
public string SaveReportToDatabase(Byte[] FileByteArray,string ReportName,string SaveDate,string MoreInfo)
{
String SqlCmd = "INSERT INTO ReportsList (report,filename,moreinfo,savedate) "+
"values (@FileByteArray,@ReportName,@MoreInfo,@SaveDate)";
OracleConnection MyConn = new OracleConnection ("Data Source=ORACLE8;user=aa;password=aa;");
OracleCommand CmdObj = new OracleCommand (SqlCmd,MyConn );
System.Data .OracleClient .OracleParameter op1 = new OracleParameter ();
op1.OracleType = OracleType.LongRaw ;
op1.Value = FileByteArray;
System.Data .OracleClient .OracleParameter op2 = new OracleParameter ();
op2.OracleType = OracleType.VarChar ;
op2.Value = ReportName;
System.Data .OracleClient .OracleParameter op3 = new OracleParameter ();
op3.OracleType = OracleType.VarChar ;
op3.Value = MoreInfo;
System.Data .OracleClient .OracleParameter op4 = new OracleParameter ();
op4.OracleType = OracleType.DateTime ;
op4.Value = Convert.ToDateTime (SaveDate);
CmdObj.Parameters .Add (op1);
CmdObj.Parameters .Add (op2);
CmdObj.Parameters .Add (op3);
CmdObj.Parameters .Add (op4);
//打开数据库连接更新数据库
try
{
MyConn.Open ();
CmdObj.ExecuteNonQuery();
}
catch(InvalidOperationException ee)
{
return ee.Message ;
}
finally
{
MyConn.Close ();
}
return "保存成功";
}