IBCPSession::BCPColumns (OLE DB)
SQL Server テーブル内の列にバインドされるフィールド数を設定します。
構文
HRESULT BCPColumns(
DBCOUNTITEMnColumns);
解説
このメソッドは、内部的に IBCPSession::BCPColFmt を呼び出して、フィールド データの既定値を設定します。 これらの既定値は、IBCPSession::BCPInit を使用してテーブル名を指定するときに、プロバイダーが内部的に取得する SQL Server の列情報を基に設定されます。
Note
有効なファイル名を指定して BCPInit を呼び出した後でのみ、このメソッドを呼び出すことができます。
既定とは異なる形式のユーザー ファイルを使用する場合にのみ、このメソッドを呼び出す必要があります。 ユーザー ファイルの既定の形式の詳細については、BCPInit メソッドを参照してください。
独自のファイル形式を完全に定義するために、BCPColumns メソッドを呼び出した後、ユーザー ファイル内の列ごとに BCPColFmt メソッドを呼び出す必要があります。
引数
nColumns[in]
ユーザー ファイル内のフィールドの総数です。 ユーザー ファイルから SQL Server テーブルへのデータの一括コピーを準備していて、ユーザー ファイル内のすべてのフィールドをコピーしない場合でも、nColumns 引数にユーザー ファイル内のフィールドの総数を設定する必要があります。 その後、スキップするフィールドを BCPColFmt を使って指定できます。
リターン コードの値
S_OK
メソッドが成功しました。
E_FAIL
プロバイダー固有のエラーが発生しました。詳細を確認するには、ISQLServerErrorInfo インターフェイスを使用してください。
E_UNEXPECTED
メソッドの呼び出しが予期されませんでした。 たとえば、このメソッドを呼び出す前に、BCPInit メソッドが呼び出されなかった場合などです。 また、1 回の一括コピー操作でこのメソッドが複数回呼び出されたときもこのリターン コードが返されます。
E_OUTOFMEMORY
メモリ不足エラーです。