ODBC関数のSQLGetTypeInfo関数を使用すると、データ ソースでサポートされているすべてのODBC SQL型を列挙したり、単一のODBC SQL型の情報を取得したりできます。いずれの場合も、それぞれのODBC SQL型に対応したODBCドライバおよびデータベースの仕様についてのさまざまな情報が返されます。データ ソースでサポートされている複数のデータ型を、単一のODBC SQL型識別子にマップすることができます。
この関数は結果を標準結果セットとして返し、DATA_TYPEを基準として並べ替えた後、データ型と対応するODBC SQLデータ型のマッピングの密接度を基準として並べ替えられます。
JSONデータ型をサポートするために、Teradata固有の列TDODBC_DATA_TYPEはセッション文字セットに応じて、SQL_TD_JSONまたはSQL_TD_WJSONに設定されます。JSONデータ型が公開されるのは、LOBサポートが有効な場合のみです。
次の表に、SQLGetTypeInfoが非Unicodeセッションを使用してJSONを公開する方法を示します。データ型はSQLGetTypeInfoに渡される「キー」であるため、SQLGetTypeInfo(SQL_LONGVARCHAR)に対して2つの行が返されることにご注意ください。
データ型名 | データ型 | 列サイズ | パラメータの作成 | TDODBC_DATA_TYPE |
---|---|---|---|---|
CLOB | SQL_LONGVARCHAR | 2097088000 | 最大長 | SQL_LONGVARCHAR |
JSON | SQL_LONGVARCHAR | 16776192 | 最大長 | SQL_TD_JSON (18004) |
Unicodeセッションでは、上記の表は次のようになります。
データ型名 | データ型 | 列サイズ | パラメータの作成 | TDODBC_DATA_TYPE |
---|---|---|---|---|
CLOB() CHARACTER SET UNICODE | SQL_WLONGVARCHAR | 1048544000 | 最大長 | SQL_WLONGCHAR |
JSON() CHARACTER SET UNICODE | SQL_WLONGVARCHAR | 8388096 | 最大長 | SQL_TD_WJSON (18005) |
JSONはSQLGetTypeInfoによってNULLABLEとして返されます。これは、XMLのために返される場合と同じです。CLOBおよびBLOBデータ型は引き続き非NULLABLEとして返されます。