最も一般的に使用されるオプションは以下のとおりです。 | |
-db= | DSN が関連付けられているデータベース(ローカルまたはリモート)の名前 |
-dsn-name= | -dsn= | データ ソース名 |
-help | dsnadd ユーティリティの構文およびオプションを表示します。 |
-l | 既存の DSN を一覧表示します。 |
openmode=<0|1|-1|-4> | -omode=<-0|1|-1|-4> | 現在の接続で開くファイルのデフォルトのオープン モードを指定します。デフォルトは 0(ノーマル)です。ローカル接続のみで使用でき、リモート クライアント接続では使用できません。ファイルのオープン モードの詳細については、『ODBC Guide』の DSN オープン モードを参照してください。 |
-srv-host= | -host= | サーバーのホスト名 |
-srv-port= | -port= | サーバーのポート番号。デフォルト値は 1583 です(『Getting Started with PSQL』のデフォルトの通信ポートの変更を参照してください)。 |
-translate=< none | auto > | 文字データに使用するエンコード変換。デフォルト値は "none" です。クライアントとサーバー間で転送される文字データがないことを意味します。これはクライアントとサーバーが同じオペレーティング システムのエンコードを使用していることを前提としています。 『ODBC Guide』の自動を参照してください。 |
以下のオプションは、使用が推奨されないレガシー スタイルの DSN の作成に使用されます。 | |
-clntdsn | 使用が推奨されないレガシー スタイルのクライアント DSN を "Pervasive ODBC Client Interface" ドライバー記述を用いて作成します。 新規アプリケーションまたは修正を施す 32 ビット アプリケーションの場合は、クライアント DSN を使用するよりも、-db= を使用した名前付きデータベースに接続する DSN を作成するようにしてください。 |
-engdsn | 使用が推奨されないレガシー スタイルのエンジン DSN を "Pervasive ODBC Engine Interface" ドライバー記述を用いて作成します。 新規アプリケーションまたは修正を施す 32 ビット アプリケーションの場合は、エンジン DSN を使用するよりも、-db= を使用した名前付きデータベースに接続する DSN を作成するようにしてください。 |
-sdsn= | 使用が推奨されないレガシー スタイルのクライアント DSN 用に使用します。PSQL Server のエンジン DSN の名前です。 |
アプリケーション開発およびテストのみで一般的に使用されるオプションは以下のとおりです。 | |
-dsn-desc= | -desc= | dsnadd は DNS のデフォルトの説明を odbc.ini に提供します。デフォルトの説明を無効にして上書きする場合は、このオプションを使用して説明文字列を指定します。説明文字列に空白文字を含める場合は、その説明文字列全体を二重引用符で囲む必要があります。 |
-drv-desc= | dsnadd は -db、-clntdsn および -engdsn オプションの有無に基づいてドライバー記述を処理します。指定する場合は、次のいずれかを指定する必要があります。 •Pervasive ODBC Interface •Pervasive ODBC Client Interface •Pervasive ODBC Engine Interface |
-drv-path= | -drv= | ドライバー ライブラリが置かれるパス。デフォルトのパスは /usr/local/psql/lib:$HOME/lib です。 |
-odbc-ini= | -ini= | ODBC.ini ファイルの名前(たとえば、/usr/local/psql/etc/odbc.ini) |
INI ファイルにおける ODBC ドライバー記述 | 一緒にインストールされるドライバー ライブラリ | 一緒にインストールされる製品の動作 |
Pervasive ODBC Engine Interface | PSQL Server(64 ビット) PSQL Server 32 ビット(Linux のみ) | •既存のエンジン DSN との互換性を維持するため ODBC ドライバーを odbc.ini に割り当てます。 •ローカルの名前付きデータベースへ接続します。 •dsnadd を使用する場合、デフォルトでは作成されなくなりました(-engdsn オプションを使用する必要があります)。 •Windows クライアント上で実行している ODBC アドミニストレーターでエンジン DSN を表示すると見ることができます。 •エンジン DSN を使用するため既にコード化された 32 ビット アプリケーションに使用されます。 •Linux の場合、32 ビット エンジン DSN の使用は推奨しません。 |
Pervasive ODBC Client Interface | PSQL Server(64 ビット) PSQL Server 32 ビット(Linux のみ) PSQL Client 32 ビット(Linux のみ) | •既存のクライアント DSN との互換性を維持するため ODBC ドライバーを odbc.ini に割り当てます。 •ローカルまたはリモートの名前付きデータベース、あるいはエンジン DSN へ接続します。 •クライアント DSN を使用するため既にコード化された 32 ビット アプリケーションのみに使用。 •dsnadd で –host を指定する場合、デフォルトでは作成されなくなりました(-clntdsn オプションを使用する必要があります)。 •Linux の場合、32 ビット クライアント DSN の使用は推奨しません。 |
Pervasive ODBC Interface | PSQL Server(64 ビット) PSQL Client(64 ビット) | •新しい 32 ビットおよび 64 ビット DSN で使用するため ODBC ドライバーを odbcinst.ini に割り当てます。 •ローカルまたはリモートの名前付きデータベースへ接続します。 •32 ビットおよび 64 ビット アプリケーション用に推奨されるドライバー記述です。 •dsnadd を使用する場合、デフォルトで作成されます。 •Windows クライアント上で実行している ODBC アドミニストレーターで、エンジン DSN としては表示されません。 |
質問 | 回答 |
32 ビット アプリケーションを 64 ビットに移植する場合、DSN について何か行う必要がありますか? | アプリケーションが DSN レス接続(接続文字列 "Pervasive ODBC Client Interface" を使用した接続)を利用している場合、その ODBC ドライバー記述を Pervasive ODBC Interface に変更します。 アプリケーションが DSN を使用する場合は、名前付きデータベースに接続する新しい DSN を作成する必要があります。 |
DSN レス接続とはなんですか? | DSN レス接続とは、ODBC ドライバー "Pervasive ODBC Client Interface"(既存の 32 ビット アプリケーション用)または "Pervasive ODBC Interface"(32 ビットまたは 64 ビット アプリケーション用)を使用して名前付きデータベースへ接続するものを指します。 |
使用が推奨されないレガシー スタイルのエンジン DSN やクライアント DSN はまだ作成することができますか? | |
Windows クライアントで ODBC アドミニストレーターを使用していますが、作成した DSN が見えないのはなぜでしょう? | 64 ビット Windows オペレーティング システムの場合、レジストリ設計により 64 ビット システム DSN と 32 ビット システム DSN は区別されています。64 ビット ODBC アドミニストレーターを使用している場合は、32 ビット システム DSN は見えません。逆もまた同様です。 |
作成したアプリケーションが DTI を使用して DSN を管理する場合はどうなりますか? | DSN 用の DTI 関数で管理するのは 32 ビット エンジン DSN のみです。そのため、将来的には DSN 用の DTI 関数は 32 ビット エンジン インターフェイス ODBC ドライバーと共に使用できなくなる可能性があります。 DSN を管理する DTI を使用する代わりに、SQL や ODBC ステートメントを使用することができます。たとえば、CREATE DATABASE を使用して名前付きデータベースを作成し、SQLConfigDatasource を使用して DSN を設定することができます。 |
将来的に、ODBC 接続で推奨される方策はありますか? | はい。新規アプリケーションまたは修正を施す 32 ビット アプリケーションは、ローカルでもリモートでも、名前付きデータベースへ接続するようにしてください。 |