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
メモリ不足エラーです。