簡體   English   中英

C#XmlSerialiser至Oracle Clob優化

[英]C# XmlSerialiser to Oracle Clob optimization

為了將xml文件保存到Oracle數據庫,我經歷了許多步驟。

XmlCustomType xmlCustomType = new XmlCustomType();

// feed xmlCustomType

var xmlSerializer = new XmlSerializer(typeof(XmlCustomType));

string xml;

using (StringWriter textWriter = new StringWriter())
{
    xmlSerializer.Serialize(textWriter, xmlCustomType);
    xml = textWriter.ToString();

    using (var sr = new StringReader(xml))
    {
        char[] buffer = new char[1000];
        int numChars;

        using (OracleConnection con = new OracleConnection(""))
        {
            OracleClob clob = new OracleClob(con);

            while ((numChars = sr.ReadBlock(buffer, 0, buffer.Length)) > 0)
            {
                clob.Write(buffer, 0, numChars);
            }
        }
    }
}

我想用類似的東西來優化它

XmlCustomType xmlCustomType = new XmlCustomType();

// feed xmlCustomType

var xmlSerializer = new XmlSerializer(typeof(XmlCustomType));

using (OracleConnection con = new OracleConnection(""))
{
    OracleClob clob = new OracleClob(con);
    xmlSerializer.Serialize(clob, xmlCustomType);
}

不幸的是,我收到了我無法理解的錯誤消息:

對Unicode字節數組的操作要求某些參數具有偶數值

從xmlserializer到OracleClob的最少步驟是什么?

從1000到100000的緩沖區大小可以大大加快該過程。

每個clob.write都是對數據庫的請求,因此,這樣做可以減少對數據庫的請求數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM