GridDB Advanced Edition ODBCドライバ説明書
Revision: 3752
1 アプリケーション開発概要
本章では、GridDB Advanced Edition(AE)用ODBCドライバを利用したアプリケーション開発の概要について説明します。
1.1 ODBCの概要
ODBC(Open Database Connectivity)は、Microsoft社が提唱したWindows対応のアプリケーションからデータベース管理システム(DBMS)にアクセスするための標準的なインタフェースです。

- ODBC対応アプリケーション (Windows)
- SQL文の発行と結果の取得などを行うために、ODBC関数を呼び出します。ユーザが作成したアプリケーションやBIツールです。
- ODBCドライバマネージャ (Windows)
- ODBC対応のアプリケーションから呼び出されたODBC関数に対して、指定されたODBCデータソースの特定のデータベースに接続するなどの制御をOSが行います。データソースの管理も行います。
- GridDB AE用ODBCドライバ (Windows)
- GridDB AEに接続するための、GridDB AE固有のドライバです。
- 32ビット用と64ビット用があります。ODBCを使用するアプリケーションが32ビットの場合は、32ビットのODBCドライバが必要です。アプリケーションが64ビットの場合は、64ビットのODBCドライバが必要です。
- GridDBクラスタ (Linux)
- 別マシンのLinux OS上で動作しているGridDB AEのクラスタです。
1.2 動作環境
GridDB AE用のODBCドライバは以下のOSでご利用できます。
- Windows Server 2012 R2、Windows Server 2016
- Windows 10
1.3 インストール方法
GridDB AE用のODBCドライバは、インストールメディアの 「\Windows\ODBC」ディレクトリに含まれています。
インストール方法は以下になります。
64ビットドライバをインストールする場合
- Windowsのエクスプローラで”GridStoreODBC_64bit_setup.bat”を選択し、右クリックで 管理者として実行 を選択し実行します。
C:\Program Files\TOSHIBA\GridStore\bin
ディレクトリにGridStoreODBC64.dllがコピーされていることを確認します。
32ビットドライバをインストールする場合
- Windowsのエクスプローラで”GridStoreODBC_32bit_setup.bat”を選択し、右クリックで 管理者として実行 を選択し実行します。
C:\Program Files\TOSHIBA\GridStore\bin
ディレクトリにGridStoreODBC32.dllがコピーされていることを確認します。
【メモ】
- 32ビットODBCドライバと64ビットODBCドライバを両方インストールすることが可能です。
1.4 ODBCデータソースの登録
GridDB ODBCを利用してGridDB AEのデータベースにアクセスするためには、ODBCデータソースの登録を事前に行う必要があります。 ODBCデータソースの登録は、以下の手順で行います。
64ビットの場合
[管理ツール]から[ODBCデータソース(64ビット)]を起動します。
システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x64)」を選択してください。
システムDSNの作成 GridDB ODBCセットアップ画面が表示されますのでGridDBクラスタへの接続情報を設定します。
セットアップ画面
[入力項目]
Data Source
- ODBCドライバマネージャに登録するデータソース名を指定。
- アプリケーションは、ここで指定したデータソース名を指定してGridDBクラスタに接続します。
Cluster Configuration 「Multicast」「Fixed List」「Provider」
- GridDBクラスタとの接続方式を選択。サーバのクラスタ構成方式の設定と合わせる必要があります。
Destination
- "Multicast"の場合、GridDBノードのクラスタ定義ファイル(gs_cluster.json)の
/sql/notificationAddress
の値と/sql/notificationPort
の値を指定する必要があります。- デフォルト: 239.0.0.1:41999
- "Fixed List"の場合、GridDBノードのクラスタ定義ファイル(gs_cluster.json)の
/cluster/notificationMember
の/sql/address
と/sql/port
を:で連結して、各ノードの値をカンマ区切りで指定する必要があります。- 3ノード構成の例: 192.168.10.11:20001,192.168.10.12:20001,192.168.10.13:20001
- "Provider"の場合、GridDBノードのクラスタ定義ファイル(gs_cluster.json)の
/cluster/notificationProvider/url
の値を指定する必要があります。- 例: http://example.com/notification/provider
- "Multicast"の場合、GridDBノードのクラスタ定義ファイル(gs_cluster.json)の
Cluster Name
- GridDBクラスタのクラスタ名を指定。
- GridDBノードのクラスタ定義ファイル(gs_cluster.json)の
/cluster/clusterName
の値を指定する必要があります。
Database
- GridDBクラスタ内のデータベース名を指定します。
- クラスタデータベースに作成される論理的なデータ管理の単位です。クラスタデータベース内にデフォルトではpublicというデータベースが作成されています。
User Name
- GridDBクラスタへの接続ユーザ名を指定します。
Password
- 上記のユーザのパスワードを指定します。
[ボタン]
- Connect Test
- GridDBクラスタへの接続確認を行います。
- Save
- 設定情報をレジストリに保存し、ダイアログを閉じます。
- Cancel
- 入力値のキャンセルを行います。入力値は保存されません。
32ビットの場合
- [管理ツール]から[ODBCデータソース(32ビット)]を起動します。
- システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x86)」を選択してください。
- GridDB ODBCセットアップ画面でGridDBサーバへの接続情報を設定します。設定方法は、64ビット版と同様です。
【注意】
- 64ビットOSで[管理ツール]から[データソース(ODBC)]で起動した場合は、64ビット用のODBCアドミニストレータが起動され、32ビット用の設定は行えません。
- クラスタ構成方式がマルチキャスト方式のGridDBクラスタのみ接続可能です。
1.5 接続方法
BI/ETLツールから使用する場合は、「GridDB ODBCセットアップ画面」で設定したデータソース名を指定してください。
ODBC APIを使用したアプリケーションで接続する場合も「GridDB ODBCセットアップ画面」で設定したデータソース名を指定してください。
(例)SQLConnect関数の場合は第2引数で指定します。
SQLConnect(hdbc, (SQLTCHAR *)TEXT("GridStoreODBC-db1"), SQL_NTS, (SQLTCHAR *)TEXT(""), SQL_NTS, (SQLTCHAR *)TEXT(""), SQL_NTS);
2 サポートAPI
GridDB ODBCドライバがサポートするAPIについて説明します。 GridDB ODBCドライバでは、ODBCバージョン3のAPIとバージョン2の一部のAPIをサポートしています。
2.1 サポートAPI一覧
APIのサポート状況を以下に示します。
関数名 | サポート状況 |
---|---|
SQLBindCol | ○ |
SQLBindParameter | × |
SQLBrowseConnect | × |
SQLCancel | × |
SQLCloseCursor | × |
SQLColAttribute | × |
SQLColumnPrivileges | × |
SQLColumns | ○ |
SQLConnect | ○ |
SQLDescribeCol | ○ |
SQLDescribeParam | × |
SQLDisconnect | ○ |
SQLDriverConnect | ○ |
SQLEndTran | × |
SQLError | ○ |
SQLExecDirect | ○ |
SQLExecute | × |
SQLFetch | ○ |
SQLFetchScroll | × |
SQLForeignKeys | × |
SQLFreeHandle | ○ |
SQLFreeStmt | ○ |
SQLGetConnectAttr | × |
SQLGetCursorName | × |
SQLGetData | ○ |
SQLGetDescField | × |
SQLGetDescRec | ○ |
SQLGetDiagField | △(SUCCESSを返すのみ) |
SQLGetDiagRec | ○ |
SQLGetEnvAttr | × |
SQLGetFunctions | ○ |
SQLGetInfo | ○ |
SQLGetStmtAttr | × |
SQLGetTypeInfo | ○ |
SQLMoreResults | × |
SQLNativeSql | × |
SQLNumResultCols | ○ |
SQLParamData | × |
SQLPrepare | × |
SQLPrimaryKeys | × |
SQLProcedureColumns | × |
SQLProcedures | × |
SQLPutData | × |
SQLRowCount | × |
SQLSetDescField | × |
SQLSetDescRec | × |
SQLSetEnvAttr | △(SUCCESSを返すのみ) |
SQLSetStmtAttr | × |
SQLSpecialColumns | × |
SQLStatistics | × |
SQLTablePrivileges | × |
SQLTables | ○ |
- ○: サポート。
- △: サポート。ただし、注意事項あり。
- ×: 未サポート。
APIの仕様に関しては以下をご参照ください。
- ODBC API 実装の詳細
3 サンプル
ODBC APIを使用したC言語のサンプルプログラムとVisualStudio用のプロジェクトファイルがファイル「gridstore-odbc-sample.zip」に含まれます。(インストールメディアの\Windows\ODBCに存在します。)
VisualStudio 2005 SP1でビルドし、動作確認を行っています。
- GridStoreODBC-sample.sln
- VisualStudio ソリューションファイル
- GridStoreODBC-sample.cpp
- サンプルソース
- GridStoreODBC-sample.vcproj
- プロジェクトファイル
テーブルの作成、データ登録、検索を行います。64ビット用と32ビット用のプロジェクト設定になっています。
プログラムの実行には、以下のODBCデータソースの設定が必要です。
64ビットの場合
- データソース名:GridStoreODBC-test64bit
32ビットの場合
- データソース名:GridStoreODBC-test32bit