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 Native Client ODBC ドライバを使用して、アプリケーションから SQLGetData を呼び出すことができます。また、長い形式のデータを連続するブロックとして送るために、アプリケーションから SQLPutData を呼び出すことができます。実行時にデータ送信に使われるパラメータを、実行時データ パラメータと呼びます。
データをブロック単位に送信または取得できるのは、character 型と binary 型のデータのみですが、実際には、アプリケーションで (長い形式のデータだけでなく) どのような型のデータでも SQLPutData または SQLGetData を使用して書き込みまたは取得できます。ただし、データが 1 つのバッファに収まりきる場合は、原則としては SQLPutData または SQLGetData を使用する必要はありません。バッファをパラメータまたは列にバインドする方がはるかに簡単です。