次の方法で共有


IBCPSession::BCPColumns (OLE DB)

SQL Server テーブル内の列にバインドされるフィールド数を設定します。

構文

HRESULT BCPColumns( 
      DBCOUNTITEM nColumns);

説明

このメソッドは、内部的に IBCPSession::BCPColFmt を呼び出して、フィールド データの既定値を設定します。 これらの既定値は、IBCPSession::BCPInit を使用してテーブル名を指定するときに、プロバイダーが内部的に取得する SQL Server の列情報を基に設定されます。

注意

有効なファイル名を指定して BCPInit を呼び出した後でのみ、このメソッドを呼び出すことができます。

既定とは異なる形式のユーザー ファイルを使用する場合にのみ、このメソッドを呼び出す必要があります。 ユーザー ファイルの既定の形式の詳細については、BCPInit メソッドを参照してください。

独自のファイル形式を完全に定義するために、BCPColumns メソッドを呼び出した後、ユーザー ファイル内の列ごとに BCPColFmt メソッドを呼び出す必要があります。

引数

  • nColumns[in]
    ユーザー ファイル内のフィールドの総数です。 ユーザー ファイルから SQL Server テーブルへのデータの一括コピーを準備していて、ユーザー ファイル内のすべてのフィールドをコピーしない場合でも、nColumns 引数にユーザー ファイル内のフィールドの総数を設定する必要があります。 その後、スキップするフィールドを BCPColFmt を使って指定できます。

リターン コード値

  • S_OK
    メソッドが成功しました。

  • E_FAIL
    プロバイダー固有のエラーが発生しました。エラーの詳細を確認するには、ISQLServerErrorInfo インターフェイスを使用してください。

  • E_UNEXPECTED
    メソッドの呼び出しが予期されませんでした。 たとえば、このメソッドを呼び出す前に、BCPInit メソッドが呼び出されなかった場合などです。 また、1 回の一括コピー操作でこのメソッドが複数回呼び出されたときもこのリターン コードが返されます。

  • E_OUTOFMEMORY
    メモリ不足エラーです。

関連項目

概念

一括コピー操作の実行

その他の技術情報

IBCPSession (OLE DB)