text 列と image 列の管理
SQL Server の text、ntext、および image 型のデータ (長い形式のデータとも呼びます) は、char、varchar、binary、または varbinary 型の列に収まりきらないデータ値を保持できる文字データ型またはバイナリ文字列データ型です。 SQL Server の text データ型は ODBC SQL_LONGVARCHAR データ型に、ntext データ型は SQL_WLONGVARCHAR データ型に、image データ型は SQL_LONGVARBINARY データ型にマップされます。 長いドキュメントや大きなビットマップなど、データ アイテムの中には大きすぎて適切にメモリに読み込むことができないものもあります。 SQL Server から返される長い形式のデータを連続したブロックで取得するには、SQL Server Native Client ODBC ドライバーを使用して、アプリケーションから SQLGetData を呼び出すことができます。 また、長い形式のデータを連続するブロックとして送るために、アプリケーションから SQLPutData を呼び出すことができます。 実行時にデータ送信に使われるパラメーターを、実行時データ パラメーターと呼びます。
データをブロック単位に送信または取得できるのは、character 型と binary 型のデータのみですが、実際には、アプリケーションで (長い形式のデータだけでなく) どのような型のデータでも SQLPutData または SQLGetData を使用して書き込みまたは取得できます。 ただし、データが 1 つのバッファーに収まりきる場合は、原則としては SQLPutData または SQLGetData を使用する必要はありません。 バッファーをパラメーターまたは列にバインドする方がはるかに簡単です。