我正在编写一个将BLOB文件插入ORACLE的函数。在执行代码时,我收到错误,指出ORA-00936: missing expression
。
我的代码:
public static void DatabaseFilePut(MemoryStream fileToPut, OracleConnection con)
{
try
{
byte[] file = fileToPut.ToArray();
const string preparedCommand = @"INSERT INTO user_account_statement (statement_id,session_key,login_id,user_id,account_number,
from_date,todate,ipaddress,
create_date_time,STATEMENT_FILE) VALUES(1073,'fe79e0345986b5a439c26f731234868b53f877366f529',
2335,'204254','108142',to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'),
to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'),
'106.79.126.249',to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'),file)";
using (var sqlWrite = new OracleCommand(preparedCommand, con))
{
sqlWrite.ExecuteReader();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
请告知我哪里出错了。
答案 0 :(得分:0)
我为'file'指定了参数
sqlWrite.BindByName = true;
var blobparameter = new OracleParameter
{
OracleDbType = OracleDbType.Blob,
ParameterName = "ssfile",
Value = fileToPut.ToArray()
};
sqlWrite.Parameters.Add(blobparameter);
并更改了参数名称。因为参数名file
是ORACLE的保留字。所以它可能会产生另一个问题。