Hitachi

DBPARTNER2 Client プログラマーズガイド


5.2.1 DABrokerドライバで使えるODBC関数

DABrokerドライバ(DBPARTNER/Serverドライバ)で使えるODBC関数を表に示します。DABroker経由の場合は表5-1を,DABroker-DBS経由又はDBS直結の場合は表5-2を参照してください。

表5-1の項目名称にある「RDA経由」とは,RDA Link for Gateway経由で接続するデータベースを表しています。RDA Link for Gateway経由で接続するデータベースには,RDB1 E2,XDM/RD E2,及びRDB編成ファイルがあります。「RDA経由」を含む表の項目名称に使用している略称については,凡例で説明しています。また,表の中で※印で示している注意事項については,この項の末尾にまとめて記述しています。

表5‒1 DABrokerドライバで使えるODBC関数(DABroker経由の場合)

分類

ODBC関数

DABroker直結

RDA経由

拡張レベル

HiR

ORA

SQL

Adap

data sourceとの接続

SQLAllocEnv

○

○

○

○

○

Core

SQLAllocConnect

○

○

○

○

○

Core

SQLConnect

○

○

○

○

○

Core

SQLDriverConnect

○

○

○

○

○

Level1

SQLBrowseConnect

○

○

○

○

○

Level2

SQLDataSource

−

−

−

−

−

Level2

SQLDrivers

−

−

−

−

−

Level2

ドライバとdata sourceの情報取得

SQLGetInfo

○

○

○

○

○

Level1

SQLGetFunction

○

○

○

○

○

Level1

SQLGetTypeInfo

○

○

○

○

○

Level1

ドライバオプションの設定と取得

SQLSetConnectOption

○

○

○

○

○

Level1

SQLGetConnectOption

○

○

○

○

○

Level1

SQLSetStmtOption

○

○

○

○

○

Level1

SQLGetStmtOption

○

○

○

○

○

Level1

SQL要求の作成

SQLAllocStmt

○

○

○

○

○

Core

SQLPrepare

○

○

○

○

○

Core

SQLBindParameter

△

△

△

△

△

Level1

SQLSetParam

○

○

○

○

○

Level1

SQLParamOption※1

×

×

×

×

×

Level2

SQLGetCursorName

○

○

○

○

○

Core

SQLSetCursorName

○

○

○

○

○

Core

SQLSetScrollOption※2

×

×

×

×

×

Level2

SQLの実行

SQLExecute

○

○

○

○

○

Core

SQLExecDirect

○

○

○

○

○

Core

SQLNativeSql

○

○

○

○

○

Level2

SQLDescribeParam

○

×

○

○

×

Level2

SQLNumParams

○

○

※4

○

○

○

※4

Level2

SQLParamData

○

○

○

○

○

Level1

SQLPutData

○

○

○

○

○

Level1

実行結果と実行結果情報の取得

SQLRowCount

○

○

○

○

○

Core

SQLNumResultCols

○

○

○

○

○

Core

SQLDescribeCol

○

○

○

○

○

Core

SQLColAttributes

○

○

○

○

○

Core

SQLBindCol

○

○

○

○

○

Core

SQLFetch

○

○

○

○

○

Core

SQLExtendedFetch※2

×

×

×

×

×

Level2

SQLGetData

○

○

○

○

○

Level1

SQLSetPos※2

×

×

×

×

×

Level2

SQLMoreResults※5

○

○

○

○

○

Level1

SQLError

○

○

○

○

○

Core

data sourceのシステム情報の取得

SQLColumnPrivileges

○

○

○

○

○

Level2

SQLColumns

○

○

○

○

○

Level1

SQLForeignKeys※1

×

×

×

×

×

Level2

SQLPrimaryKeys※1

×

※7

○

※3

○

※3

○

※3

×

※7

Level2

SQLProcedureColumns

○

○

○

○

×

※7

Level2

SQLProcedures

○

○

○

○

×

※7

Level2

SQLSpecialColumns

○

※5

○

※6

○

※5

○

※5

○

※5

Level1

SQLStatistics

○

○

○

○

○

Level1

SQLTablePrivileges

○

○

○

○

○

Level2

SQLTables

○

○

○

○

○

Level1

SQL実行の終了

SQLFreeStmt

○

○

○

○

○

Core

SQLCancel

○

○

○

○

○

Core

SQLTransact

○

○

○

○

○

Core

切り離し

SQLDisconnect

○

○

○

○

○

Core

SQLFreeConnect

○

○

○

○

○

Core

SQLFreeEnv

○

○

○

○

○

Core

表5‒2 DABrokerドライバで使えるODBC関数(DABroker-DBS経由又はDBS直結の場合)

分類

ODBC関数

RD

SD

RDB

PDM

RDB1

KSP

拡張レベル

data sourceとの接続

SQLAllocEnv

○

○

○

○

○

○

Core

SQLAllocConnect

○

○

○

○

○

○

Core

SQLConnect

○

○

○

○

○

○

Core

SQLDriverConnect

○

○

○

○

○

○

Level1

SQLBrowseConnect

○

○

○

○

○

○

Level2

SQLDataSource

−

−

−

−

−

−

Level2

SQLDrivers

−

−

−

−

−

−

Level2

ドライバとdata sourceの情報取得

SQLGetInfo

○

○

○

○

○

○

Level1

SQLGetFunction

○

○

○

○

○

○

Level1

SQLGetTypeInfo

○

○

○

○

○

○

Level1

ドライバオプションの設定と取得

SQLSetConnectOption

○

○

○

○

○

○

Level1

SQLGetConnectOption

○

○

○

○

○

○

Level1

SQLSetStmtOption

○

○

○

○

○

○

Level1

SQLGetStmtOption

○

○

○

○

○

○

Level1

SQL要求の作成

SQLAllocStmt

○

○

○

○

○

○

Core

SQLPrepare

○

○

○

○

○

○

Core

SQLBindParameter

△

△

△

△

△

×

※7

Level1

SQLSetParam

○

○

○

○

○

×

※7

Level1

SQLParamOption※1

×

×

×

×

×

×

Level2

SQLGetCursorName

○

○

○

○

○

○

Core

SQLSetCursorName

○

○

○

○

○

○

Core

SQLSetScrollOption※2

×

×

×

×

×

×

Level2

SQLの実行

SQLExecute

○

○

○

○

○

○

Core

SQLExecDirect

○

○

○

○

○

○

Core

SQLNativeSql

○

○

○

○

○

○

Level2

SQLDescribeParam

○

○

○

○

○

×

※7

Level2

SQLNumParams

○

○※3

○※3

○※3

○※3

×

※7

Level2

SQLParamData

○

○

○

○

○

×

※7

Level1

SQLPutData

○

○

○

○

○

×

※7

Level1

実行結果と実行結果情報の取得

SQLRowCount

○

○

○

○

○

○

Core

SQLNumResultCols

○

○

○

○

○

○

Core

SQLDescribeCol

○

○

○

○

○

○

Core

SQLColAttributes

○

○

○

○

○

○

Core

SQLBindCol

○

○

○

○

○

○

Core

SQLFetch

○

○

○

○

○

○

Core

SQLExtendedFetch※2

×

×

×

×

×

×

Level2

SQLGetData

○

○

○

○

○

○

Level1

SQLSetPos※2

×

×

×

×

×

×

Level2

SQLMoreResults※5

○

○

○

○

○

※5

○

Level1

SQLError

○

○

○

○

○

○

Core

data sourceのシステム情報の取得

SQLColumnPrivileges

○

×

○

×

※5

○

×

※5

Level2

SQLColumns

○

○

○

○

○

○

Level1

SQLForeignKeys※1

×

×

×

×

×

×

Level2

SQLPrimaryKeys※1

×

※7

×

※7

×

※7

×

※7

×

※7

×

※7

Level2

SQLProcedureColumns

○

※8

×

※7

×

※7

×

※7

×

※7

×

※7

Level2

SQLProcedures

○

※8

×

※7

×

※7

×

※7

×

※7

×

※7

Level2

SQLSpecialColumns

○

※5

○

※6

○

※6

○

※6

○

※6

○

※5

Level1

SQLStatistics

○

○

○

×

※5

○

×

※5

Level1

SQLTablePrivileges

○

×

○

×

※5

○

×

※5

Level2

SQLTables

○

○

○

○

○

○

Level1

SQL実行の終了

SQLFreeStmt

○

○

○

○

○

○

Core

SQLCancel

○

○

○

○

○

○

Core

SQLTransact

○

○

○

○

○

○

Core

切り離し

SQLDisconnect

○

○

○

○

○

○

Core

SQLFreeConnect

○

○

○

○

○

○

Core

SQLFreeEnv

○

○

○

○

○

○

Core

(凡例)

○:関数をサポートしています。

×:関数をサポートしていません。

△:SQLSetParamの機能だけをサポートしています。

HiR:HiRDBのことです。

ORA:ORACLEのことです。

SQL:SQL Serverのことです。

Adap:Adaptive Server Anywhereのことです。

RDA経由:RDA Link for Gateway経由で接続するデータベースを表します。このデータベースには,RDB1 E2,XDM/RD E2,及びRDB編成ファイルがあります。

RD:XDM/RD E2のことです。

SD:XDM/SD E2のことです。

RDB:RDB編成ファイルのことです。

PDM:PDMII E2のことです。

KSP:VOSKスプールファイルのことです。

RDB1:RDB1 E2のことです。

Core:コアレベルのことです。

注※1

DABrokerドライバではこの関数はサポートしていないので,ドライバマネージャがエラーリターンします(SQL STATE:IM001)。

注※2

DABrokerドライバではサポートしていません。ただし,ODBC 2.0カーソルライブラリで実装しているので,カーソルライブラリで規定された範囲の機能は使えます。

注※3

この関数をサポートしていますが,DBMS又はサーバプログラムがサポートしていないときは,常に0が返ります。

注※4

この関数をサポートしていますが,サーバ側でサポートしていません。関数は使えますが,常にNO_DATA_FOUNDが返ります。

注※5

この関数をサポートしていますが,DBMSがサポートしていないときは,常にNO_DATA_FOUNDが返ります。

注※6

fColTypeがSQL_BEST_ROWIDに対してだけ情報を返します。

注※7

この関数をサポートしていますが,該当するDBMSでサポートしていないのでエラーリターンします(SQL STATE:S1C00)。

注※8

外部プロシジャだけをサポートしています。