2017-05-09 42 views
0

我在C#中編寫代碼,並且Oracle數據庫存在以下問題。 我想在BLOB列中存儲一些TEXT,但我不知道如何。 你有什麼想法如何改變我的代碼?C#,Oracle - 如何將文本存儲爲BLOB

String textValue = "Some example of text..." 

oraCommand.CommandText = "UPDATE BLOB_TABLE SET BLOB_COLUMN = :data WHERE ID='123'"; 
       oraCommand.Parameters.Add(":data", OracleDbType.Blob); 
       oraCommand.Parameters[":data"].Value = textValue; 
       oraCommand.ExecuteNonQuery(); 
      } 
+0

BLOB或CLOB?一個BLOB是一個二進制數據類型,並且期望一個byte []作爲該值。你需要將你的字符串轉換爲字節類型。 – Fran

回答

2

您必須在綁定參數時刪除「:」。而BLOB是二進制對象,您應該將字符串轉換爲字節數組。您應該使用CLOB來處理大對象的字符。

String textValue = "Some example of text..." 

oraCommand.CommandText = "UPDATE BLOB_TABLE SET BLOB_COLUMN = :data WHERE ID='123'"; 
OracleParameter param = oraCommand.Parameters.Add("data", OracleDbType.Blob); 
param.Value = Encoding.ASCII.GetBytes(textValue); 
oraCommand.ExecuteNonQuery(); 
相關問題