次の方法で共有


IBCPSession::BCPColumns (OLE DB)

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

構文

  
HRESULT BCPColumns(   
DBCOUNTITEMnColumns);  

注釈

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

このメソッドは、 BCPInit が有効なファイル名で呼び出された後にのみ呼び出すことができます。

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

BCPColumns メソッドを呼び出した後、ユーザー ファイル内の各列に対して BCPColFmt メソッドを呼び出して、カスタム ファイル形式を完全に定義する必要があります。

論争

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

リターン コードの値

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

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

予期しないエラー
メソッドの呼び出しが予期されませんでした。 たとえば、このメソッドを呼び出す前に、BCPInit メソッドが呼び出されなかった場合などです。 また、一括コピー操作でこのメソッドが複数回呼び出された場合にも発生します。

E_OUTOFMEMORY
メモリ不足エラー。

こちらもご覧ください

IBCPSession (OLE DB)
一括コピー操作の実行