次の方法で共有


IBCPSession::BCPColumns (OLE DB)

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

構文

HRESULT BCPColumns( 
      DBCOUNTITEM nColumns);

解説

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

ms131425.note(ja-jp,SQL.90).gifメモ :
有効なファイル名を指定して BCPInit を呼び出した後でのみ、このメソッドを呼び出すことができます。

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

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

引数

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

リターン コード値

  • S_OK
    メソッドが成功しました。
  • E_FAIL
    プロバイダ固有のエラーが発生しました。エラーの詳細を確認するには、ISQLServerErrorInfo インターフェイスを使用してください。
  • E_UNEXPECTED
    メソッドの呼び出しが予期されませんでした。たとえば、このメソッドを呼び出す前に、BCPInit メソッドが呼び出されなかった場合などです。また、1 回の一括コピー操作でこのメソッドが複数回呼び出されたときもこのリターン コードが返されます。
  • E_OUTOFMEMORY
    メモリ不足エラーです。

参照

概念

一括コピー操作の実行

その他の技術情報

IBCPSession (OLE DB)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手