メインコンテンツまでスキップ
バージョン:23.4

ODBC 管理

SenseTalkのOpen Database Connectivity (ODBC) APIを使用して、Eggplant Functionalからデータベースにアクセスすることができます。これにより、Oracle、MySQL、Microsoft SQL Serverなど、様々なデータベースを使用したSenseTalkからのデータ駆動型テストが可能になります。

重要

以下の情報を使用して接続を設定した後、Eggplant Functionalスクリプトで接続を定義する前に、接続が機能していることを確認するためにテストします。これは、ODBC Administratorまたはodbc.iniファイルのDSNを使用してテストできます。

前提条件

ODBCを使用するための要件は、オペレーティングシステムによって異なります。それは言われて、ODBCを使用してデータベースにアクセスするには3つのことが必要です:

  • ODBCドライバ: これにより、Eggplant Functionalと対象のデータベースが通信できます。アクセスしたいデータベースの種類に適したドライバをインストールする必要があります。このドライバをEggplant Functionalを実行するマシンにインストールし、それがEggplant Functionalのインストール(32ビットまたは64ビット)と同じバージョンであることを確認してください。
  • OCBCドライバマネージャ: これはODBCドライバを管理し、Eggplant FunctionalがODBCドライバをロードして使用するのを可能にします。以下のドライバマネージャを参照してください。Linuxでは必要ありません。
  • データソース情報: この情報は、特定のデータベースの接続情報を指定し、サーバー名、IPアドレス、ポート、および認証情報を含む必要があります。この情報はData Source Name (DSN)定義の一部です。DSNはODBC Administratorまたはodbc.iniファイルで定義されます。

ドライバマネージャ

ドライバマネージャはODBCドライバを管理し、Eggplant FunctionalがODBCドライバをロードして使用するのを可能にします。

Windows

Windows上のODBCドライバマネージャはODBC Data Source Administratorと呼ばれます。これはODBCドライバを管理しロードし、DSNを設定できるグラフィカルユーザーインターフェース(GUI)も提供します。Windows 8およびWindows 10は64ビットアプリケーション用のODBC管理者を提供します。この管理者は次の場所で見つけることができます:

  • 64ビットODBC管理者:C:\Windows\system32\odbcad32.exe

また、データベース用の適切な64ビットODBCドライバをダウンロードする必要があります。例えば、MySQLに接続するには、64ビットODBCドライバをダウンロードする必要があります。

Mac

MacのオペレーティングシステムにはODBCドライバ管理ソフトウェアが含まれていないため、任意のODBCドライバに加えて、サードパーティのODBCマネージャをインストールする必要があります。私たちは、DSNを設定できるGUIを備えたODBC Manager for Macを成功裏にテストしました。

データベース用の適切なODBCドライバの64ビットバージョンをインストールする必要があります。

Linux

LinuxのEggplant FunctionalリリースにはODBCドライバマネージャが含まれているため、インストールする必要はありません。ドライバをインストールし、いくつかのファイルを設定する必要があります。

Eggplant Functionalがインストールされているオペレーティングシステムと対象データベース用の適切な64ビットODBCドライバをダウンロードし、抽出またはインストールします。

"odbc.ini"ファイル(DSNを作成する場所)と"odbcinst.ini"ファイル(ドライバーのインストール場所を指定する場所)を /etc ディレクトリに作成および設定します。これは、Eggplant Functionalがそれらを期待する場所です。DSNの設定についての詳細は、ODBCドライバーまたはデータベースのドキュメンテーションを参照してください。

接続の定義

SenseTalkがODBCを使用してデータベースに接続するためには、接続プロパティリストをSenseTalkに提供する必要があります。SenseTalkは常に、ODBCを使用してデータベースに接続しているのか、Excelワークブックをデータベースとして使用しているのか、その名前または他の識別子などを知っている必要があります。接続にはユーザー名とパスワード、または他のパラメーターが必要な場合もあります。(ログイン資格情報はほぼ常に必要ですが、スクリプトによって必ずしも提供されるわけではありません。場合によっては、資格情報をODBCマネージャに保存することができ、あまり一般的ではありませんが、データベースには資格情報が必要ないデフォルトのログインが存在することもあります。)詳細はデータベースシステムごとに異なりますが、すべての関連情報を指定する必要があります。

ODBC接続情報は次のように変数に格納できます。これにより使用が容易になります:

set myDB to (type:"odbc", DSN:"DataSource1", user:"root", password:"")

接続に関する詳細の多くは、ローカルマシンのドライバマネージャによって保存されます。DSN または DataSourceName プロパティキーは、使用する接続を識別します。接続の詳細は、別のODBC管理者プログラムおよびODBCドライバを通じて管理される場合があります。

一般的なデータベース接続リストのプロパティ

  • Type: 必須。接続するデータベースのタイプを指定します。指定: "ODBC"または"Excel"。
  • Writable: Eggplant Functionalがこのデータベースに書き込み可能かどうかを決定します。このプロパティを使用してデータベースの設定を変更します。(書き込み能力は、ODBCの場合はデフォルトで有効になっており、Excelの場合はデフォルトで無効になっています。)

ODBCのみの接続リストのプロパティ

  • DataSourceNameまたはDSN: 必須。データベースのデータソース名(DSN)。これは、サーバーへの接続のODBC識別子で、ODBC管理者またはodbc.iniファイルで定義されます。odbc.iniファイル(およびodbcinst.iniファイル)は、ユーザーのホームディレクトリにあるか、特定のユーザーが所有している場合には、ピリオドで始まることがあります。
  • Name: DSNが参照するサーバー上にアクセスされるデータベース(スキーマとも呼ばれる)の名前。
  • User: 必要な場合、接続資格情報のユーザー名コンポーネント。
  • Password: 必要な場合、接続資格情報のパスワードコンポーネント。

書き込み可能プロパティ

ODBCデータベース接続は、デフォルトでデータベースに書き込むことができるように設定されています。これは、データベースから取得したレコードがデータベース内の対応するエントリとの接続を維持することを意味します。そのため、レコードに変更を加えると、データベースが自動的に更新されます。このため、データの誤って上書きを防ぐために、データベースの書き込み機能を無効にすることを望むかもしれません。データベースの書き込み機能を無効にするには、writable プロパティを Noに設定します。

ODBCデータベースの書き込み機能は、また、レコードの追加レコードの削除 のコマンドをそのまま使用することも可能にします。

例:

set myODBCdb to {type:"ODBC", writable: No}