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ドライバと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ビットドライバをインストールする場合

  1. Windowsのエクスプローラからマウスで”GridStoreODBC_64bit_setup.bat”を選択し、右クリックで 管理者として実行 を選択し実行してください。
  2. C:\Program Files\TOSHIBA\GridStore\bin ディレクトリにGridStoreODBC64.dllがコピーされていることを確認してください。

32ビットドライバをインストールする場合

  1. Windowsのエクスプローラからマウスで”GridStoreODBC_32bit_setup.bat”を選択し、右クリックで 管理者として実行 を選択し実行してください。
  2. C:\Program Files\TOSHIBA\GridStore\bin ディレクトリにGridStoreODBC32.dllがコピーされていることを確認してください。

【メモ】

  • 32ビットODBCドライバと64ビットODBCドライバを両方インストールすることが可能です。

2.3 ODBCデータソースの登録

GridDB ODBCを利用してGridDB AEのデータベースにアクセスするためには、ODBCデータソースの登録を事前に行う必要があります。ODBCデータソースの登録は、以下の手順で行います。

64ビットの場合

  1. Windows7/Windows2008の場合、[管理ツール]から[データソース(ODBC)]を起動します。Windows8/Windows2012の場合、[管理ツール]から[ODBCデータソース(64ビット)]を起動します。
  2. システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x64)」を選択してください。
    システムDSNの作成
  3. 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 の値を指定する必要があります。
  • Cluster Name
    • GridDBクラスタのクラスタ名を指定。
    • GridDBノードのクラスタ定義ファイル(gs_cluster.json)の /cluster/clusterName の値を指定する必要があります。
  • Database
    • GridDBクラスタ内のデータベース名を指定します。
    • クラスタデータベースに作成される論理的なデータ管理の単位です。クラスタデータベース内にデフォルトではpublicというデータベースが作成されています。
  • User Name
    • GridDBクラスタへの接続ユーザ名を指定します。
  • Password
    • 上記のユーザのパスワードを指定します。

[ボタン]

  • Connect Test
    • GridDBクラスタへの接続確認を行います。
  • Save
    • 設定情報をレジストリに保存し、ダイアログを閉じます。
  • Cancel
    • 入力値のキャンセルを行います。入力値は保存されません。

32ビットの場合

  1. Windows7/Windows2008の場合、コマンドプロンプトを 管理者として実行 し、32ビット用のODBCアドミニストレータ(odbcad32.exe)を起動します。
    • 格納場所: %windir%\SysWOW64\odbcad32.exe
    • 例: C:\WINDOWS\SysWOW64\odbcad32.exe

    Windows8/Windows2012の場合、[管理ツール]から[ODBCデータソース(32ビット)]を起動します。

  2. システムデータソース(システムDSN)を作成します。ドライバ指定時に「GridStore ODBC(x86)」を選択してください。
  3. 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の仕様に関しては以下をご参照ください。

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