データ型のマッピング - Access Module

Teradata® Tools and Utilities Access Moduleリファレンス

Product
Access Module
Release Number
17.10
Published
2021年10月
Language
日本語
Last Update
2021-11-16
dita:mapPath
ja-JP/uur1608578381725.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2425
Product Category
Teradata Tools and Utilities

OLE DBでは、OLEおよびWindowsの標準データ型を使用します。 データ型の記述には、OLE DB型識別子が使用されます。これは、列挙型DBTYPEの変数です。 Teradata Access Module for OLE DBでは、OLE DB型識別子で指定されたC/C++データ型を取得し、このデータ型をTeradataのデータ型に変換します。 Teradataのデータ型は、DBTYPE値およびDBCOLUMNFLAGS値に基づきます。

データ型のマッピングは、Teradata OLE DBプロバイダのデータをデータベースに転送する場合に必要になります。 次のテーブルは、Teradataのデータ型へのOLE DB型識別子のマッピングのリストです。

DBTYPE DBCOLUMNFLAG Teradataデータ型
DBTYPE_11   BYTE(n)1
DBTYPE_I2   SMALLINT
DBTYPE_I4   INTEGER
DBTYPE_I8   BIGINT
DBTYPE_UI1   SMALLINT
DBTYPE_UI2   INTEGER
DBTYPE_UI4   DECIMAL(10,0)
DBTYPE_UI8   BIGINT
DBTPYE_R4   FLOAT
DBTYPE_R8   FLOAT
DBTYPE_NUMERIC   DECIMAL(p,s)1

NUMBER(p,s)1

DBTYPE_DECIMAL   DECIMAL(p,s)1
DBTYPE_CY   18を超える精度用のDECIMAL(19,4)

18未満の精度用のDECIMAL(18,4)

DBTYPE_BSTR   VARCHAR(64000)
DBTYPE_IDISPATCH   BYTE(n)
DBTYPE_ERROR   DECIMAL(10,0)
DBTYPE_BOOL   BYTEINT
DBTYPE_VARIANT   VARCHAR (8000), SMALLINT 4
DBTYPE_IUKNOWN   BYTE(n)2
DBTYPE_GUID   BYTE(n)2
DBTYPE_BYTES DBCOLUMNFLAGS_ISFIXEDLENGTH BYTE(n)2
DBTYPE_BYTES   VARBYTE(n)2
DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH PERIOD(DATE)
DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH PERIOD[TIME(p)]
DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH PERIOD[TIMESTAMP(p)]
DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH CHAR(n)2
DBTYPE_STR   VARCHAR(n)2
DBTYPE_WSTR DBCOLUMNFLAGS_ISFIXEDLENGTH CHAR(n)2
DBTYPE_WSTR   VARCHAR(n)2
DBTYPE_UDT   サポートしていません
DBTYPE_DATE   TIMESTAMP(p)、DATE、TIME3
DBTYPE_DBDATE   DATE
DBTYPE_DBTIMESTAMP   TIMESTAMP(p)、DATE、TIME3
DBTYPE_ARRAY   サポートしていません
DBTYPE_BYREF   データが実際のデータ値へのポインタであることを示します。 例えば、DBTYPE_I2 | DBTYPE_BYREFは、このデータが2バイトの整数のアドレスを含むことを意味します。 サポートされるデータ型はすべて、DBTYPE_BYREFを使用して参照できます。
DBTYPE_VECTOR   サポートしていません
DBTYPE_RESERVED   サポートしていません
DBTYPE_NULL   サポートしていません
DBTYPE_EMPTY   サポートしていません
DBTYPE_DBTIME   TIME
DBTYPE_FILETIME   TIMESTAMP(p)、DATE、FLOAT3
DBTYPE_PROPVARIANT   サポートしていません
DBTYPE_HCHAPTER   DECIMAL(10,0)
DBTYPE_VARNUMERIC   VARCHAR(n)2
1精度(p)とスケール(s)。

2nは、BYTE(n)およびVARBYTE(n)についてはバイト数を、CHAR(n)およびVARCHAR(n)については文字数を示します。

3(Teradata TIMESTAMP(p)として使用可能にした上で)すべての日付と時刻のデータ型はデータ型の日付部分についてはTeradata DATE型とし、時刻部分についてはTeradata TIMEとして分割する必要があります。

4DBTYPE_VARIANT型はすべて、VARIANT構造の値部分についてはTeradata VARCHAR(8000)型として分割され、VT部分についてはTeradata SMALLINTとして分割されます。