XMLデータ型の値と変換 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/wxs1608578396899.ditamap
dita:ditavalPath
ja-JP/wxs1608578396899.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

ODBC Driver for Teradataは、XML値からODBC文字C型(SQL_C_CHARおよびSQL_C_WCHAR)への変換と、XML値からバイナリC型(SQL_C_BINARY)への変換をサポートしています。また、その逆の変換もサポートしています。

データベースから取得したXMLデータ型の値は、完全なXML文書になることもありますが、シーケンスやアトミック値などの非整形式のテキスト エントリ(XML文書の断片を含む)になることもあります。データベースに挿入するXMLデータ型の値は、XML文書(整形式)にする必要があります。

アプリケーションで使用される非Unicodeコード ページへの変換(変換エラーが発生する可能性がある)が不要であるため、TeradataではXMLと、SQL_C_BINARYまたはSQL_C_WCHARとの変換を推奨します。SQL_TD_XMLのデフォルトのODBC C型はSQL_C_BINARYです。ODBC C型として表わされるSQL_TD_XML値を以下に示します。

XMLの表現形式 説明
SQL_C_BINARY この値は、XMLテキスト内でどのようなエンコーディングが宣言されていたとしても、UTF8でエンコードされた文字のシーケンスになります。
SQL_C_CHAR この値は、XMLテキスト内でどのようなエンコーディングが宣言されていたとしても、アプリケーション コード ページでエンコードされた文字のシーケンスになります。
SQL_C_WCHAR この値は、アプリケーションで有効なUnicodeエンコーディング(Linux/Unixの場合はUTF8またはUTF16、Windowsの場合はUTF16、Apple macOSの場合はUTF32)でエンコードされた文字のシーケンスになります。このエンコーディングは、XMLテキスト内でのエンコーディング宣言は関係しません。

特定のXML文書では、その文書をODBCで作業する場合に推奨されるODBC C型は、そのXML文書内の宣言で特定されるXML文書のエンコーディングによって異なります。XML文書のエンコーディングに推奨されるODBC C型の一覧を以下に示します。

XML文書のエンコーディング宣言 ODBCアプリケーションでXML文書を作業するときに推奨されるODBC C型
Windows Linux/Unix Apple macOS
UTF8 SQL_C_BINARYまたはSQL_C_WCHAR。

SQL_C_WCHARを使用すると、エンコーディングがUTF16になることに注意してください。

SQL_C_BINARYまたはSQL_C_WCHAR SQL_C_BINARYまたはSQL_C_WCHAR
UTF16 SQL_C_WCHAR UTF16のUnicodeエンコーディングを使用したSQL_C_WCHAR。詳細は、Unicode文字型を参照してください。 SQL_C_WCHAR
その他 文書のエンコーディングと一致するアプリケーション コード ページを使用したSQL_C_CHAR。 XML文書のエンコーディングと一致するアプリケーション コード ページを使用したSQL_C_CHAR。 文書のエンコーディングと一致するロケールLC_TYPE設定を使用したSAL_C_CHAR。