SQL Engine Reference (v11)

ODBC 接続文字列

このセクションでは、Pervasive PSQL でサポートされる ODBC 接続文字列について説明します。この情報は、接続文字列を指定することができるデータベース アクセス ツールを使用する上級ユーザー、および Pervasive PSQL にアクセスする ODBC または OLE DB アプリケーションの開発者向けです。

Pervasive PSQL ODBC ドライバー名

次の表に、Pervasive PSQL ODBC ドライバーの一覧を示します。

表 102 Pervasive PSQL ODBC ドライバー
ドライバー名
ビット数
備考
Pervasive ODBC Engine Interface
32 ビット
  • 32 ビット エンジン DSN を作成します。
  • ローカルの名前付きデータベースへ接続します。
  • 32 ビット アプリケーション向け。
  • 非推奨
Pervasive ODBC Client Interface
32 ビット
  • 32 ビット クライアント DSN を作成します。
  • ローカルまたはリモートの名前付きデータベース、あるいはエンジン DSN へ接続します。
  • インターフェイス GUI では、名前付きデータベースとエンジン DSN の両方を一覧に表示します。
  • 32 ビット アプリケーション向け。
Pervasive ODBC Interface
64 ビット
  • 64 ビット DSN を作成します。
  • ローカルまたはリモートの名前付きデータベースへ接続します。
  • 64 ビット アプリケーション向け。
新規または修正を施す 32 ビット アプリケーションは、ローカルでもリモートでも、エンジン DSN を使用するのではなく名前付きデータベースに接続する必要があります。この代わりに、Pervasive ODBC Client Interface を指定することによってアプリケーションが DSN レス接続を使用するという方法もあります。エンジン DSN の使用を避けることで、将来エンジン DSN が Pervasive PSQL でサポートされなくなってもアプリケーションを維持することができます。

ODBC の Driver パラメーターを使用して、Pervasive PSQL データベース エンジンに接続します。たとえば、次のようになります。

Driver={Pervasive ODBC Engine Interface} 
Driver={Pervasive ODBC Client Interface} 
Driver={Pervasive ODBC Interface} 

その他のパラメーター

ほかに使用されるパラメーターを下の表に示します。

表 103 32 ビット エンジン DSN 接続文字列
接続文字列
説明
DBQ=[@]db_name
接続する内部データベース名を指定します。DSN ではありません。必須。
@ 文字は省略可能です。この文字はなんの意味も持たず、以前のバージョンとの互換性のためだけにサポートされています。
UID=user_name
データベースのセキュリティが有効になっている場合、ユーザー名を指定します。セキュリティの設定により、省略可能。
PWD=password
データベースのセキュリティが有効になっている場合、パスワードを指定します。セキュリティの設定により、省略可能。
OPENMODE=-4 | -1 | 0 | 1
現在の接続で開くファイルのデフォルトのオープン モードを指定します。デフォルトは 0 です。"Normal" はローカル接続だけで使用され、リモート クライアント接続では使用できません。省略可能。
ファイル オープン モードの詳細については、DSN オープン モードを参照してください。
TRANSLATIONDLL=path_and_DLL_name
OEM/ANSI 変換に使用する DLL のフル パス名を指定します。詳細については、OEM/ANSI 変換を参照してください。

表 104 32 ビット クライアント DSN 接続文字列
接続文字列
説明
ServerName=server[.port]
接続するコンピューターのマシン名または IP アドレスを指定します。デフォルトのポートを使用しない場合は、使用するポート番号を指定します。必須。
ServerDSN=dsn_name
接続するエンジン DSN を指定します。DBQ が指定されていなければ必須。
TransportHint=<TCP | SPX>[:SPX | TCP]
使用する転送プロトコルまたは最初に試行する転送プロトコルを指定します。デフォルトは "TCP:SPX"("先に TCPIP を試行してから SPX を試行")です。省略可能。
たとえば、"TCP"("TCP のみ試行")という値を設定すると、クライアントは TCP/IP 接続のみを使用するように指定できます。"SPX:TCP"("先に SPX を試行してから TCP を試行")という値を設定すると、クライアントはまず SPX 接続を試し、成功しなければ TCP/IP 接続を試行します。
DBQ=[@]db_name
接続する内部データベース名を指定します。DSN ではありません。必須。
@ 文字は省略可能です。この文字はなんの意味も持たず、以前のバージョンとの互換性のためだけにサポートされています。
TCPPort=port
サーバーを探す TCP/IP ポートを指定します。省略可能。『Getting Started with Pervasive PSQL(Server Edition)』のデフォルトの通信ポートの変更を参照してください。
ArrayFetchOn=1 | 0
結果セットをクライアント上にキャッシュするかどうかを指定します。デフォルトは 1(キャッシュする)です。省略可能。
ArrayBufferSize=size
クライアント キャッシュのサイズを KB 単位で指定します。デフォルトは 8 KB です。省略可能。
PvTranslate=auto
または
PvTranslate がないかまたは空
ODBC は接続文字列属性の PvTranslate を使用して、クライアントがデータベース エンジンに接続するときにデータ エンコードを指定します。この属性は、なしまたは空にしておくことができますが、その場合値は "自動" に設定されます。
この属性がないかまたは空の場合、ODBC は文字データを変換しません。これは旧来の動作です。旧来どおり "OEM/ANSI" 設定が適用されます。OEM/ANSI 変換を参照してください。
属性に "自動" を設定した場合、クライアントとサーバーは自動的に適合するエンコードを確立します。データ変換は、必要に応じクライアントで行われます。DSN では "OEM/ANSI" より "自動" が優先されることに注意してください。ローカル DSN が自動に設定されている場合、PvTranslate はデフォルトで "自動" になります。自動を参照してください。
PvTranslate 属性は、ODBC 関数の SQLDriverConnect(例 D を参照)または SQLConnect(自動エンコード用の DSN 設定を介して)に含めることができます。

表 105 64 ビット DSN 接続文字列
接続文字列
説明
ServerName=server[.port]
接続するコンピューターのマシン名または IP アドレスを指定します。デフォルトのポートを使用しない場合は、使用するポート番号を指定します。必須。
TransportHint=<TCP | SPX>[:SPX | TCP]
使用する転送プロトコルまたは最初に試行する転送プロトコルを指定します。デフォルトは "TCP:SPX"("先に TCPIP を試行してから SPX を試行")です。省略可能。
たとえば、"TCP"("TCP のみ試行")という値を設定すると、クライアントは TCP/IP 接続のみを使用するように指定できます。"SPX:TCP"("先に SPX を試行してから TCP を試行")という値を設定すると、クライアントはまず SPX 接続を試し、成功しなければ TCP/IP 接続を試行します。
DBQ=[@]db_name
接続する内部データベース名を指定します。DSN ではありません。必須。
@ 文字は省略可能です。この文字はなんの意味も持たず、以前のバージョンとの互換性のためだけにサポートされています。
TCPPort=port
サーバーを探す TCP/IP ポートを指定します。省略可能。『Getting Started with Pervasive PSQL(Server Edition)』のデフォルトの通信ポートの変更を参照してください。
ArrayFetchOn=1 | 0
結果セットをクライアント上にキャッシュするかどうかを指定します。デフォルトは 1(キャッシュする)です。省略可能。
ArrayBufferSize=size
クライアント キャッシュのサイズを KB 単位で指定します。デフォルトは 8 KB です。省略可能。
PvTranslate=auto
または
PvTranslate がないかまたは空
ODBC は接続文字列属性の PvTranslate を使用して、クライアントがデータベース エンジンに接続するときにデータ エンコードを指定します。この属性は、なしまたは空にしておくことができますが、その場合値は "自動" に設定されます。
この属性がないかまたは空の場合、ODBC は文字データを変換しません。これは旧来の動作です。旧来どおり "OEM/ANSI" 設定が適用されます。OEM/ANSI 変換を参照してください。
属性に "自動" を設定した場合、クライアントとサーバーは自動的に適合するエンコードを確立します。データ変換は、必要に応じクライアントで行われます。DSN では "OEM/ANSI" より "自動" が優先されることに注意してください。ローカル DSN が自動に設定されている場合、PvTranslate はデフォルトで "自動" になります。自動を参照してください。
PvTranslate 属性は、ODBC 関数の SQLDriverConnect(例 D を参照)または SQLConnect(自動エンコード用の DSN 設定を介して)に含めることができます。

接続文字列では、メタデータ バージョンはパラメーターではありません。メタデータ バージョンは、接続しようとするデータベースの名前に基づいて暗黙に宣言されます。「メタデータのバージョン」を参照してください。

例 A

この例では、32 ビット オペレーティング システムで、"ServerMain" というリモート サーバー上にある内部名 "SOMEDATA" というデータベースに対し、TCP/IP ポート 1590 を使用して、まず TCP/IP 接続を試みてから SPX 接続を試みる方法を示します。

Driver={Pervasive ODBC Client Interface}; 
ServerName=ServerMain.1590;DBQ=SOMEDATA; 
TransportHint=TCP:SPX;  

例 B

この例は、データベース セキュリティが有効になっている "MyServer" という名前のリモート サーバー上の "mydata" というエンジン DSN に接続する方法を示します。

Driver={Pervasive ODBC Client Interface}; 
ServerName=MyServer;ServerDSN=mydata;UID=ajones;
PWD=jones52;  

例 C

この例は、内部名 "DATA5" のローカル データベースに接続する方法を示します。

Driver={Pervasive ODBC Engine Interface};DBQ=DATA5;  

例 D

ODBC クライアント アプリケーションが SQLDriverConnect を使用して "MyServer" という名前のリモート サーバー上にある "mydata" という名前のサーバー DSN に接続し、自動エンコード サポートを確立します。

Driver={Pervasive ODBC Client Interface}; 
ServerName=MyServer;ServerDSN=mydata;PvTranslate
=auto;  

サーバー(エンジン)DSN が指定されているため、PvTranslate 属性が明示的に記述されています。

例 E

この例は、64 ビット オペレーティング システム上にある、"acctdomestic" という名前のローカル データベースに接続する方法を示します。

Driver={Pervasive ODBC Interface};DBQ=acctdomestic;  

ODBC データベース アクセス

Pervasive 32 ビット ODBC エンジン DSN セットアップ