プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# OracleClobクラス

`OracleClob`は、`CLOB`データへの参照が含まれるオブジェクトです。このオブジェクトは、`CLOB`に対して操作を実行するためのメソッドを提供します。

注意:

`OracleClob`オブジェクトでは、.NET Frameworkバイト配列を使用した`CLOB`データの取得または書込み時に、クライアント側のキャラクタ・セットが使用されます。

クラスの継承

`System.Object`

`System.MarshalByRefObject`

`System.IO.Stream`

`Oracle.DataAccess.Types.OracleClob`

宣言

    // C#
    public sealed class OracleClob : Stream, ICloneable, INullable

要件

プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ
--- | --- | ---
アセンブリ | `Oracle.DataAccess.dll` | `Oracle.ManagedDataAccess.dll`
ネームスペース | `Oracle.DataAccess.Types` | `Oracle.ManagedDataAccess.Types`
.NET Framework | 3.5, 4.5, 4.6, 4.7 | 4.5, 4.6, 4.7

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

例

    // C#

    using System;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;

    class OracleClobSample
    {
      static void Main()
      {
        string constr = "User Id=scott;Password=tiger;Data Source=oracle";
        OracleConnection con = new OracleConnection(constr);
        con.Open();

        OracleClob clob = new OracleClob(con);

        // Write 4 chars from writeBuffer, starting at buffer offset 0
        char[] writeBuffer = new char[4] {'a', 'b', 'c', 'd'};
        clob.Write(writeBuffer, 0, 4);

        // Append first 2 chars from writeBuffer {'a', 'b'} to the oracleClob
        clob.Append(writeBuffer, 0, 2);

        // Prints "clob.Length  = 12"
        Console.WriteLine("clob.Length  = " + clob.Length);

        // Reset the Position for the Read
        clob.Position = 0;

        // Read 6 chars into readBuffer, starting at buffer offset 0
        char[] readBuffer = new char[6];
        int charsRead = clob.Read(readBuffer, 0, 6);

        // Prints "charsRead    = 6"
        Console.WriteLine("charsRead    = " + charsRead);

        // Prints "readBuffer   = abcdab"
        Console.Write("readBuffer   = ");
        for(int index = 0; index <  readBuffer.Length; index++)
        {
          Console.Write(readBuffer[index]);
        }
        Console.WriteLine();

        // Search for the 2nd occurrence of a char pattern 'ab'
        // starting from char offset 0 in the OracleClob
        char[] pattern = new char[2] {'a', 'b'};
        long posFound = clob.Search(pattern, 0, 2);

        // Prints "posFound     = 5"
        Console.WriteLine("posFound     = " + posFound);

        // Erase 4 chars of data starting at char offset 1
        // Sets chars to ''
        clob.Erase(1, 4);

        //Prints "clob.Value   = a    b"
        Console.WriteLine("clob.Value   = " + clob.Value);

        clob.Close();
        clob.Dispose();

        con.Close();
        con.Dispose();
      }
    }

関連項目:

- "Oracle.DataAccess.TypesおよびOracle.ManagedDataAccess.Typesのネームスペース"

- OracleClobメンバー

- OracleClobコンストラクタ

- OracleClob静的フィールド

- OracleClob静的メソッド

- OracleClobインスタンス・プロパティ

- OracleClobインスタンス・メソッド