2017-05-09 9 views
0

私はC#でコーディングしており、Oracle DBに次の問題があります。 BLOB列にTEXTをいくつか保存したいのですが、どうしたらいいかわかりません。 コードを変更する方法はありますか?C#、Oracle - BLOBとしてTEXTを格納する方法

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 []が値として期待されます。あなたの文字列をbyte araryに変換する必要があります。 – 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(); 
関連する問題