このユーティリティは、選択されたデータソースへの既存の接続を使用し、サポートされている全てのデータタイプに関する情報を返す、fInfoTypeがSQL_ALL_TYPESのSQLGetInfo関数を送信します。この情報を受け取った後、ユーティリティは、データタイプが検索可能かどうか(つまり、データタイプがWHERE句で使用可能かどうか)を確認するために全てのデータタイプにSQLGetTypeInfo関数を送信します。
0-SQL_UNSEARCHABLE …… データタイプがWHERE句で使用できない場合
1-SQL_LIKE_ONLY LIKE …… LIKE述語がある時だけでデータタイプがWHERE句で使用できる場合
2- SQL_ALL_EXCEPT_LIKE …… LIKE述語を除く全ての比較演算子とともにデータタイプがWHERE句で使用できる場合
3- SQL_SEARCHABLE …… 全ての比較演算子とともにデータタイプがWHERE句で使用できる場合
ユーティリティログファイル内の情報は、次の3つのカラムに表示されます。
DBMS Type Name …… DBMSのデータタイプの名前
SQL Data Type …… ODBCによって定義される、対応する主要なSQLのデータタイプ
Searchable …… データタイプがWHERE句で使用できるかどうかを示すTrue/Falseの値
DBMS TYPE NAME |
SQL DATA TYPE |
SEARCHABLE |
GUID |
INVALID SQLTYPE |
FALSE |
BIT |
SQL_BIT |
TRUE |
BYTE |
SQL_TINYINT |
TRUE |
LONGBINARY |
SQL_LONGVARBINARY |
FALSE |
VARBINARY |
SQL_VARBINARY |
FALSE |
BINARY |
SQL_BINARY |
FALSE |
LONGCHAR |
SQL_LONGVARCHAR |
FALSE |
CHAR |
SQL_CHAR |
TRUE |
CURRENCY |
SQL_NUMERIC |
TRUE |
INTEGER |
SQL_INTEGER |
TRUE |
COUNTER |
SQL_INTEGER |
TRUE |
SMALLINT |
SQL_SMALLINT |
TRUE |
REAL |
SQL_REAL |
TRUE |
DOUBLE |
SQL_DOUBLE |
TRUE |
DATETIME |
SQL_TIMESTAMP |
TRUE |
VARCHAR |
SQL_VARCHAR |
TRUE |