【问题标题】:C#, Oracle - How to store TEXT as BLOBC#, Oracle - 如何将文本存储为 BLOB
【发布时间】:2017-10-07 21:32:04
【问题描述】:

我正在使用 C# 进行编码,但我在使用 Oracle DB 时遇到了以下问题。 我想在 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();
            }

【问题讨论】:

  • BLOB 还是 CLOB? BLOB 是一种二进制数据类型,需要一个 byte[] 作为值。您需要将字符串转换为字节数组。

标签: c# sql oracle blob


【解决方案1】:

绑定参数时必须去掉“:”。而 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();

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 2010-10-09
    • 2010-11-06
    • 2020-03-03
    • 1970-01-01
    • 2014-10-28
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多