以前のバージョンのTimesTenとのODBC APIの非互換性
以前のバージョンのTimesTenとともに使用されていたODBCアプリケーションに影響を与える、TimesTen 18.1リリースで導入された変更点について説明します。
内容は次のとおりです。
ODBC APIの非互換性の概要
TimesTenドライバはODBCに対応しています。ただし、リリース18.1以降では、LinuxおよびUNIXプラットフォーム上のTimesTenインストールのinclude
ディレクトリに、より新しいODBCヘッダー・ファイルが用意されています。
64ビットとの互換性を確保するために、ODBCデータ型および関数を更新するように変更が行われました。
これらの変更およびその他の変更により、任意のプラットフォームでコードの変更が必要になる場合があります。ODBCアプリケーションのコード更新を必要とするODBC変更は、次のカテゴリに分類されます。
-
ODBC関数の変更点
-
関数シグネチャの変更: 64ビット・プログラミング用にいくつかの関数シグネチャが変更されました。
-
オプションまたは属性値のサイズに対する変更: これは、接続オプション、文オプション、列属性、またはドライバとデータソース情報に関して、渡すか返す値のことです。これらは、次に示す状況では64ビット値になりました。
-
-
ODBCデータ型の変更
ヒント:
ご使用のアプリケーションにはどのコード変更も適用する必要がない場合でも、TimesTen 22.1リリースを初めて使用するときに、既存のODBCアプリケーションを再コンパイルして再リンクする必要があります。
既存のTimesTen ODBCアプリケーションで、次の各項で説明する機能が使用されている場合は、必要に応じてアプリケーションを更新する必要があります。
変更されたODBC 3.5関数シグネチャ
コードの更新を必要とする変更点があるODBC 3.5関数を示します。
以前のリリースのTimesTenでは、次のようなODBC 3.5機能を部分的にサポートしていました。
-
ハンドルの割当て方法
-
診断レコード
-
ワイド・キャラクタ関数
-
ハンドルの属性の設定関数および取得関数
-
SQLColAttribute
-
SQLCloseCursor
やSQLEndTran
など、2.5の機能に直接マップされるその他の関数
表10-16に示す関数では、表に記載のとおり、シグネチャや属性値のサイズが変更されているため、ODBC 3.5アプリケーションのコードを更新する必要があります。属性値のサイズは、接続属性および文属性に関して、渡すか返す値に適用されます。
ノート:
-
シグネチャの変更は、64ビット環境または32ビット環境に適用されます。オプションおよび属性値のサイズ変更は、64ビット環境にのみ適用されます。
-
TimesTen ODBCでは、TimesTenでサポートされていない機能に関連するオプションまたは属性の値が返されません。たとえば:
SQL_ATTR_ASYNC_ENABLE
、SQL_ATTR_ENLIST_IN_DTC
、SQL_ATTR_CURSOR_SCROLLABLE
、SQL_ATTR_CURSOR_SENSITIVITY
、SQL_ATTR_FETCH_BOOKMARK_PTR
、SQL_ATTR_METADATA_ID
、SQL_ATTR_RETRIEVE_DATA
、SQL_ATTR_SIMULATE_CURSOR
、SQL_ATTR_USE_BOOKMARKS
。
表10-16 ODBC 3.5関数の変更点
関数 | シグネチャ変更 | オプションおよび属性値のサイズ変更 |
---|---|---|
|
該当なし |
UNIXプラットフォーム: 次の
|
|
ノート: TimesTen固有の属性(接頭辞 |
UNIXプラットフォーム: 次の属性の場合、64ビット値が
|
|
*ValuePtrは、取得する属性に応じて ノート: TimesTen固有の属性(接頭辞 |
UNIXプラットフォーム: 次の属性の場合、64ビット値が
|
|
ノート: TimesTen固有の属性(接頭辞 |
UNIXプラットフォーム: 次の属性の場合、64ビット値が
|
|
ノート: TimesTen固有の属性(接頭辞 |
UNIXプラットフォーム: 次の属性の場合、64ビット値が
|
変更されたODBC 2.5関数シグネチャ
コードの更新を必要とする変更点があるODBC 2.5関数を示します。
表10-17に示す関数では、表に記載のとおり、シグネチャが変更されていたり、オプションや属性値のサイズが変更されているため、ODBC 2.5アプリケーションのコードを更新する必要があります。オプションまたは属性値のサイズは、接続オプション、文オプション、列属性、またはドライバとデータソース情報に関して、渡すか返す値に適用されます。
表10-17 ODBC 2.5関数の変更点
関数 | シグネチャ変更 | オプションおよび属性値のサイズ変更 |
---|---|---|
|
該当なし |
LinuxおよびUNIXプラットフォーム: 次の
|
|
ノート: TimesTen固有のオプション(接頭辞 |
LinuxおよびUNIXプラットフォーム: オプション |
|
該当なし |
LinuxおよびUNIXプラットフォーム: 次の
|
|
ノート: TimesTen固有のオプション(接頭辞 |
LinuxおよびUNIXプラットフォーム: 次のオプションの場合、
|
|
LinuxおよびUNIXプラットフォーム: |
該当なし |
|
ノート: TimesTen固有のオプション(接頭辞 |
LinuxおよびUNIXプラットフォーム: オプション |
|
TimesTenでは、スクロール可能カーソルはサポートされていません。この関数は、「Driver not capable」エラー(S1C00)を返します。 ノート: |
該当なし |
|
ノート: TimesTen固有のオプション(接頭辞 |
LinuxおよびUNIXプラットフォーム: 次のオプションの場合、
|
変更されたODBCデータ型
ODBCアプリケーションのコード更新が必要となる、データ型に関する変更点を示します。
表10-18 変更されたODBC 2.5データ型
データ型 | 説明 |
---|---|
|
LinuxおよびUNIXプラットフォーム: これらのデータ型は |
|
これらのデータ型は非推奨になりました。かわりに |
|
このデータ型は非推奨になりました。かわりに |
|
LinuxおよびUNIXプラットフォーム: このデータ型は |