GridDB Advanced Edition ODBCドライバ説明書
Revision: 2177
Table of Contents
1 はじめに
1.1 本書の目的と構成
本書は、GridDB ODBCドライバを利用して、GridDB Advanced Editionのデータベースにアクセスするアプリケーション開発者を対象としています。
本書を読むためには、以下の知識が必要になります。
- GridDB Advanced Editionについての基礎知識
- Windowsについての一般的な知識
- ODBC対応のアプリケーション開発ツール(VisualStudioなど)についての基礎知識
なお、本書で説明する機能は、GridDB Advanced Editionライセンスを保有するユーザのみがご利用いただけます。
1.2 GridDB Advanced Editionとは
GridDB Advanced Edition では、GridDBのデータにSQLでアクセスできるインターフェースを提供します。本書では、GridDB Advanced Edition(以降、GridDB AEと記載します)のサポートするデータベースにアクセスするCのAPI(ODBC)について説明します。
1.3 動作環境
GridDB AE用のODBCドライバは以下のOSでご利用できます。
- Windows Server 2012 R2、Windows Server 2008 R2
- Windows 10、Windows 8、Windows 7
2 アプリケーション開発概要
本章では、GridDB AE用ODBCドライバを利用したアプリケーション開発の概要について説明します。
2.1 ODBCの概要
ODBC(Open Database Connectivity)は、Microsoft社が提唱したWindows対応のアプリケーションからデータベース管理システム(DBMS)にアクセスするための標準的なインタフェースです。
ODBCドライバとGridDB AEクラスタの関係
-
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のクラスタです。
2.2 インストール方法
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ドライバを両方インストールすることが可能です。
2.3 ODBCデータソースの登録
GridDB ODBCを利用してGridDB AEのデータベースにアクセスするためには、ODBCデータソースの登録を事前に行う必要があります。ODBCデータソースの登録は、以下の手順で行います。
64ビットの場合
- Windows7/Windows2008の場合、[管理ツール]から[データソース(ODBC)]を起動します。Windows8/Windows2012の場合、[管理ツール]から[ODBCデータソース(64ビット)]を起動します。
-
システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x64)」を選択してください。
-
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
と/cluster/notificationMember/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
の値を指定する必要があります。
-
"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ビットの場合
-
Windows7/Windows2008の場合、コマンドプロンプトを 管理者として実行 し、32ビット用のODBCアドミニストレータ(odbcad32.exe)を起動します。
-
格納場所:
%windir%\SysWOW64\odbcad32.exe
-
例:
C:\WINDOWS\SysWOW64\odbcad32.exe
Windows8/Windows2012の場合、[管理ツール]から[ODBCデータソース(32ビット)]を起動します。
-
格納場所:
- システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x86)」を選択してください。
- GridDB ODBCセットアップ画面でGridDBサーバへの接続情報を設定します。設定方法は、64ビット版と同様です。
【注意点】
- 64ビットOSで[管理ツール]から[データソース(ODBC)]で起動した場合は、64ビット用のODBCアドミニストレータが起動され、32ビット用の設定は行えません。
- クラスタ構成方式がマルチキャスト方式のGridDBクラスタのみ接続可能です。
2.4 接続方法
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);
3 サポートAPI
GridDB ODBCドライバがサポートするAPIについて説明します。GridDB ODBCドライバでは、ODBC バージョン3 のAPIとバージョン2の一部のAPIをサポートしています。
3.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 実装の詳細
4 サンプル
ODBC APIを使用したC言語のサンプルプログラムとVisualStudio用のプロジェクトファイルがファイル「gridstore-odbc-sample.zip」に含まれます。(インストールメディアの \Windowsに存在します。)
VisualStudio 2005 SP1でビルドし、動作確認を行っています。
-
GridStoreODBC-sample.sln
- VisualStudio ソリューションファイル
-
ODBC-sample\GridStoreODBC-sample.cpp
- サンプルソース
-
GridStoreODBC-sample.vcproj
- プロジェクトファイル
テーブルの作成、データ登録、検索を行います。64ビット用と32ビット用のプロジェクト設定になっています。
プログラムの実行には、以下のODBCデータソースの設定が必要です。
64ビットの場合
データソース名:GridStoreODBC-test64bit
32ビットの場合
データソース名:GridStoreODBC-test32bit