Operating Systems
E.11 サポートされている機能
この項では、Oracle ODBC Driverでサポートされている機能について説明します。内容は次のとお りです。
APIへの準拠
ODBC API関数の実装 ODBC SQL構文の実装 データ型の実装
E.11.1 APIへの準拠
Oracle ODBC Driverリリース10.2.0.1.0以上では、コア、レベル2およびレベル1のすべての関数をサ ポートしています。
E.11.2 ODBC API関数の実装
次の表に、Oracle ODBC Driverが特定の関数を実装する方法を示します。
機能 説明
SQLConnect SQLConnectで必要なのは、DBQ、ユーザーIDおよびパスワードのみで
す。
SQLDriverConnect SQLDriverConnectでは、DSN、DBQ、UIDおよびPWDの各キーワードが 使用されます。
SQLSpecialColumns SQL_BEST_ROWID属性を指定してSQLSpecialColumnsをコールする
と、常にROWID列を返します。
SQLProceduresおよ
びSQLProcedureColumns 次の項の説明を参照してください。
すべてのカタログ・ファンク
ション SQL_ATTR_METADATA_ID文の属性がSQL_TRUEに設定されている場合、
文字列の引数は、識別子の引数として処理されますが、このケースはあま り重要ではありません。この場合、アンダースコア(_)およびパーセント記 号(%)は検索用パターン文字ではなく、実際の文字として処理されます。
これに対して、この属性をSQL_FALSEに設定すると、文字列の引数は、
通常の引数またはパターン値の引数となり、リテラルに処理されるため、
このケースは重要です。
SQLProceduresおよびSQLProcedureColumns
SQLProceduresコールおよびSQLProcedureColumnsコールは、パッケージ内に含まれている 場合でも、すべてのプロシージャおよびファンクションに関する情報を検索して返すように変更 されました。これより前のリリースでは、これらのコールで検索されるのは、パッケージ外のプ ロシージャとファンクションのみでした。次の例では、SQL_ATTR_METADATA_ID属性
をSQL_FALSEに設定した場合に返されるプロシージャまたはファンクションを示します。
この例では、次のストアド・プロシージャがあるとします。
"BAR"
"BARX"
"XBAR"
"XBARX"
"SQLPROCTEST.BAR"
"SQLPROCTEST.BARX"
"SQLPROCTEST.XBAR"
"SQLPROCTEST.XBARX"
%または%%%%%%と指定して検索すると、これら8つのプロシージャがすべて返されます。
%_または_%と指定して検索すると、次のプロシージャが返されます。
BAR BARX XBAR XBARX
.、.%、%.%、SQLPROC%.またはSQLPROC%.%と指定して検索すると、次のプロシージャが返さ れます。
SQLPROCTEST.BAR SQLPROCTEST.BARX SQLPROCTEST.XBAR SQLPROCTEST.XBARX
%BARと指定して検索すると、次のプロシージャが返されます。
BAR XBAR
.%BARまたは%.%BARと指定して検索すると、次のプロシージャが返されます。
SQLPROCTEST.BAR SQLPROCTEST.XBAR
SQLPROC%または.SQLPROC%と指定して検索すると、次のプロシージャが返されます。
nothing (0 rows)
E.11.3 ODBC SQL構文の実装
比較述語で比較の2番目の式としてパラメータ・マーカーが使用され、そのパラメータの値
がSQLBindParameterを使用してSQL_NULL_DATAに設定されている場合、比較は失敗します。
これは、ODBC SQLのNULL述語構文と一致しています。
E.11.4 データ型の実装
プログラマがデータ型を実装する際に最も考慮する必要があるのは、CHAR、VARCHARおよ びVARCHAR2の各データ型です。
SQL_VARCHARの値がfSqlTypeの場合、SQLGetTypeInfoはOracle Databaseデータ
型VARCHAR2を返します。SQL_CHARの値がfSqlTypeの場合、SQLGetTypeInfoはOracle Databaseデータ型CHARを返します。