0
我正在寫入一個將BLOB文件插入到ORACLE中的函數。在執行代碼時,我收到錯誤,指出ORA-00936: missing expression
。ORA-00936:在C#中執行時缺少表達式。
我的代碼:
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());
}
}
請告知我要去的地方錯了。
問題是你提供的最後一個值'file'。這不是你的'byte []'引用,因爲它和語句中的引用之間沒有聯繫。甲骨文似乎在給這個特定的錯誤,因爲它是一個保留字;別的東西會給ORA-00984。您需要將對象與語句中的變量綁定爲流;但我沒有在C#中這樣做的經驗,所以如果你不知道如何做,那麼其他人將不得不添加一個答案。 – 2014-09-03 11:20:36