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

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

前 | 次 |

# Write

`Stream`をオーバーライドします

このインスタンス・メソッドでは、指定されたバッファを`OracleBlob`に書き込みます。

宣言

    // C#
    public override void Write(byte[ ] buffer, int offset, int count);

パラメータ

- `buffer`

  データを指定するバイト配列`buffer`

- `offset`

  `buffer`の読取りが開始される`0`ベース・オフセット(バイト)

- `count`

  `OracleBlob`に書き込まれるデータ量(バイト)

例外

`ObjectDisposedException` - オブジェクトはすでに処理されています。

`InvalidOperationException` - `OracleConnection`がオープンされていないか、またはオブジェクトの存続中にクローズされています。

`ArgumentOutOfRangeException` - この例外は次のいずれかの条件が存在する場合に表示されます。

- `offset`または`count`が`0`未満の場合

- `offset`が`buffer`.`Length`以上である場合

- `offset`および`count`の合計が`buffer`.`Length`より大きい場合

備考

`OracleBlob`の`offset`先は`Position`プロパティで指定できます。

例

    // C#

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

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

        OracleBlob blob = new OracleBlob(con);

        // Set the Position for the Write
        blob.Position = 0;

        // Begin ChunkWrite to improve performance
        // Index updates occur only once after EndChunkWrite
        blob.BeginChunkWrite();

        // Write to the OracleBlob in 5 chunks of 2 bytes each
        byte[] b = new byte[2] {1, 2};
        for(int index = 0; index < 5; index++)
        {
          blob.Write(b, 0, b.Length);
        }
        blob.EndChunkWrite();

        byte[] chunkBuffer = blob.Value;

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

        blob.Close();
        blob.Dispose();

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

関連項目:

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

- OracleBlobクラス

- OracleBlobメンバー