ODBC のクライアント接続情報は、通常は ODBC データ・ソースとして配備されます。ODBC データ・ソースは、次のいずれかの方法で配備できます。
プログラムを使用 データ・ソースの記述をエンド・ユーザのレジストリまたは ODBC 初期化ファイルに追加します。
手動 エンド・ユーザに手順を示して、各自のコンピュータに適切なデータ・ソースを作成できるようにします。
Windows では、ODBC アドミニストレータを使用して [ユーザー DSN] タブまたは [システム DSN] タブでデータ・ソースを手動で作成します。SQL Anywhere ODBC ドライバは、設定を入力するための設定ウィンドウを表示します。データ・ソースの設定には、データベース・ファイルのロケーション、データベース・サーバの名前、起動パラメータとその他のオプションが含まれます。
UNIX プラットフォームでは、SQL Anywhere の dbdsn ユーティリティを使用して手動でデータ・ソースを作成できます。データ・ソースの設定には、データベース・ファイルのロケーション、データベース・サーバの名前、起動パラメータとその他のオプションが含まれます。
この項では、どちらの方法であっても知る必要がある情報について説明します。
データ・ソースには 3 種類あります。ユーザ・データ・ソース、システム・データ・ソース、ファイル・データ・ソースです。
ユーザ・データ・ソース定義は、レジストリの一部として保存され、システムに現在ログインしている特定のユーザ用の設定を含んでいます。これに対し、システム・データ・ソースは、すべてのユーザと Windows のサービスで使用でき、ユーザがシステムにログインしているかどうかに関係なく稼働します。MyApp というシステム・データ・ソースが正しく設定されている場合、ODBC 接続文字列に DSN=MyApp と指定することでどのユーザでもその ODBC 接続を使用することができます。
ファイル・データ・ソースはレジストリには保持されないで、特別なディレクトリに保持されます。ファイル・データ・ソースを使用するには、接続文字列に FileDSN 接続パラメータを指定する必要があります。
各ユーザ・データ・ソースは、レジストリ・エントリによってシステムに識別されます。データ・ソース定義の正しいレジストリ・エントリを確実に作成する最も簡単な方法は、SQL Anywhere dbdsn ユーティリティを使用して作成することです。
このユーティリティを使用しない場合は、一連のレジストリ値を特定のレジストリ・キーに作成する必要があります。
ユーザ・データ・ソースの場合のキーを次に示します。
HKEY_CURRENT_USER\ SOFTWARE\ ODBC\ ODBC.INI\ user-data-source-name |
システム・データ・ソースの場合のキーを次に示します。
HKEY_LOCAL_MACHINE\ SOFTWARE\ ODBC\ ODBC.INI\ system-data-source-name |
キーには一連のレジストリ値が含まれ、それぞれが 1 つの接続パラメータに対応します。たとえば、32 ビットの Windows では、SQL Anywhere 11 Demo システムのデータ・ソース名 (DSN) に対応する SQL Anywhere 11 Demo キーには次の設定が含まれます。
値の名前 | 値のタイプ | 値データ |
---|---|---|
Autostop | 文字列 | YES |
DatabaseFile | 文字列 | samples-dir\demo.db |
Description | 文字列 | SQL Anywhere 11 サンプル・データベース |
Driver | 文字列 | install-dir\bin32\dbodbc11.dll |
Password | 文字列 | sql |
ServerName | 文字列 | demo11 |
StartLine | 文字列 | install-dir\bin32\dbeng11.exe |
UserID | 文字列 | DBA |
配備されたアプリケーションの接続文字列には、ServerName パラメータを含めることをおすすめします。これにより、コンピュータで複数の SQL Anywhere データベース・サーバが実行されている場合に、アプリケーションが確実に正しいサーバに接続することができるため、タイミングに依存する接続エラーを防ぐことができます。
これらのエントリの install-dir は SQL Anywhere のインストール・ディレクトリです。64 ビットの Windows では、bin32 が bin64 になります。
さらに、データ・ソース名をレジストリ内のデータ・ソースのリストにも追加する必要があります。ユーザ・データ・ソースの場合は、次のキーを使用します。
HKEY_CURRENT_USER\ SOFTWARE\ ODBC\ ODBC.INI\ ODBC Data Sources |
システム・データ・ソースの場合は、次のキーを使用します。
HKEY_LOCAL_MACHINE\ SOFTWARE\ ODBC\ ODBC.INI\ ODBC Data Sources |
この値によって、各データ・ソースは ODBC ドライバと対応させられます。値の名前はデータ・ソース名で、値データは ODBC ドライバ名です。たとえば、SQL Anywhere によってインストールされたシステム・データ・ソースは、SQL Anywhere 11 Demo という名前で、次のような値を持ちます。
値の名前 | 値のタイプ | 値データ |
---|---|---|
SQL Anywhere 11 Demo | 文字列 | SQL Anywhere 11 |
ユーザ・データ・ソースの設定には、ユーザ ID とパスワードのように機密性のあるデータベース設定を含めることもできます。これらの設定は、レジストリにプレーン・テキストとして保存され、Windows レジストリ・エディタ regedit.exe または regedt32.exe を使用して表示できます。これらのエディタは、Microsoft からオペレーティング・システムとともに提供されています。パスワードを暗号化したり、ユーザが接続するときにパスワードの入力を要求するように選択することもできます。
ODBC 接続文字列内のデータ・ソース名は次のようにして調べることができます。
DSN=UserDataSourceName |
Windows では、DSN パラメータを接続文字列に指定すると、Windows レジストリ内の現在のユーザ・データ・ソース定義が検索された後にシステム・データ・ソースが検索されます。ファイル・データ・ソースは、FileDSN が ODBC 接続文字列に指定された場合にだけ検索されます。
次の表は、データ・ソースが存在し、そのデータ・ソースが DSN パラメータや FileDSN パラメータとしてアプリケーションの接続文字列に含まれている場合の、ユーザと開発者に対する影響を示します。
データ・ソースの状態 | 接続文字列に指定する追加情報 | ユーザが指定する情報 |
---|---|---|
ODBC ドライバの名前とロケーション、データベース・ファイルまたはデータベース・サーバの名前、起動パラメータ、ユーザ ID とパスワードを含む | 追加情報なし | 追加情報なし |
ODBC ドライバの名前とロケーション、データベース・ファイルまたはデータベース・サーバの名前、起動パラメータを含む | 追加情報なし | ユーザ ID とパスワード (DSN に指定がない場合) |
ODBC ドライバの名前とロケーションのみを含む | データベース・ファイル名 (DBF=) とデータベース・サーバ名 (ENG=) またはそのいずれか。オプションで、Userid (UID=) や PASSWORD (PWD=) などのその他の接続パラメータを含む場合もあります。 | ユーザ ID とパスワード (DSN または ODBC 接続文字列に指定がない場合) |
存在しない | 使用する ODBC ドライバ名 (Driver=)、データベース名 (DBN=)、データベース・ファイル名 (DBF=) とデータベース・サーバ名 (ENG=) またはそのいずれか。オプションで、Userid (UID=) や PASSWORD (PWD=) などのその他の接続パラメータを含む場合もあります。 | ユーザ ID とパスワード (ODBC 接続文字列に指定がない場合) |
ODBC の接続と設定の詳細については、次を参照してください。
『ODBC SDK』(Microsoft から入手可能)
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |