SQLGetDataの回避

SQLGetDataを使用すると、列をバインドせずにデータをフェッチできます。

この場合、アプリケーションでフェッチ対象のすべての行のすべての列に対してSQLGetData ODBCコールを発行する必要があるため、パフォーマンスに悪影響を及ぼす可能性があります。一方、バインドされた列を使用する場合は、フェッチされる列ごとに1回のみのODBCコールが必要となります。また、TimesTen ODBCドライバには、バインドされた列でデータをフェッチする方法が適しています。

ただし、SQLGetDataは、長い文字列またはバイナリ列からデータをピース単位でフェッチする場合に非常に有効です。(これについては、「ODBCにおけるLOBピース単位データ・インタフェースの使用」でLOBに関する説明を参照してください。)