次の方法で共有


一括コピー操作の実行 (ODBC)

ODBC 標準では、SQL Server の一括コピー操作は直接サポートされていません。 SQL Server バージョン 7.0 以降のインスタンスに接続されている場合、SQL Server Native Client ODBC ドライバーは、SQL Server の一括コピー操作を実行する DB-Library 関数をサポートします。 このドライバー固有の拡張機能は、一括コピー機能を使用する既存の DB-Library アプリケーションの簡単なアップグレード パスを提供します。 特殊な一括コピーのサポートは、次のファイルにあります。

  • sqlncli.h

    一括コピー関数の関数プロトタイプと定数定義が含まれています。 sqlncli.h は、一括コピー操作を実行する ODBC アプリケーションに含める必要があり、コンパイル時にアプリケーションのインクルード パスに含まれている必要があります。

  • sqlncli11.lib

    リンカーのライブラリ パス内にあり、リンクするファイルとして指定されている必要があります。 sqlncli11.lib は、SQL Server Native Client ODBC ドライバーと共に配布されます。

  • sqlncli11.dll

    実行時に存在する必要があります。 sqlncli11.dll は、SQL Server Native Client ODBC ドライバーと共に配布されます。

ODBC SQLBulkOperations 関数は、SQL Server の一括コピー関数とは関係がありません。 アプリケーションでは、SQL Server 固有の一括コピー関数を使用して一括コピー操作を実行する必要があります。

一括コピーの最小ログ記録

完全復旧モデルでは、一括読み込みによって実行されるすべての行挿入操作がトランザクション ログに完全に記録されます。 データの読み込みが大きい場合、トランザクション ログが急速にいっぱいになる可能性があります。 特定の条件下では、最小限のログ記録が可能です。 ログ記録が最小限に抑えられると、一括読み込み操作によってログ領域がいっぱいになり、完全なログ記録よりも効率的になります。

最小ログ記録の使用方法については、「 一括インポートでの最小ログ記録の前提条件」を参照してください。

注釈

SQL Server 2005 以降で bcp.exe を使用すると、SQL Server 2005 より前にエラーが発生しなかった状況でエラーが発生する可能性があります。 これは、以降のバージョンでは、bcp.exe は暗黙的なデータ型変換を実行しなくなったためです。 SQL Server 2005 より前では、ターゲット テーブルに money データ型がある場合は、数値データを money データ型に変換 bcp.exe。 ただし、このような状況では、bcp.exe 単純に余分なフィールドが切り捨てられます。 SQL Server 2005 以降では、データ型がファイルとターゲット テーブルの間で一致しない場合、bcp.exe は、ターゲット テーブルに収まるように切り捨てる必要があるデータがある場合にエラーを発生させます。 このエラーを解決するには、ターゲット データ型と一致するようにデータを修正します。 必要に応じて、SQL Server 2005 より前のリリースの bcp.exe を使用します。

このセクションにて

こちらもご覧ください

SQL Server Native Client (ODBC)
データの一括インポートと一括エクスポート (SQL Server)