Distributed Tuning Interface のリファレンス : PvConnectServer()
 
このページをシェアする                  
PvConnectServer()
PSQL データベース エンジンがインストールされているターゲット サーバーに接続を試みます。接続が正常に確立すると、以降の参照用の接続ハンドルが返されます。
ヘッダー ファイル:connect.h(ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(OS X)(リンク ライブラリも参照)
構文
BTI_SINT PvConnectServer(
   BTI_CHAR_PTR       serverName,
   BTI_CHAR_PTR       userName,
   BTI_CHAR_PTR       password,
   BTI_LONG_PTR       phConnection);
引数
 
In
serverName
接続先のサーバー名または IP アドレス。『Getting Started With PSQL』のドライブ ベースの形式も参照してください。
In
userName
serverName に接続するユーザー名。このパラメーターを省略する場合の説明については、下記の「備考」を参照してください。
In
password
ユーザー パスワード。このパラメーターを省略する場合の説明については、下記の「備考」を参照してください。
In/Out
phConnection
接続が成功した場合に、接続ハンドルを受け取る Long 型整数のアドレス。
戻り値
 
P_OK
操作は成功しました。
P_E_NULL_PTR
ヌル ポインターによる呼び出しです。
P_E_FAIL
名前付きサーバーとの接続に失敗しました。
P_E_SERVER_NOT_FOUND
指定されたサーバーは見つかりません。
P_E_ENGINE_NOT_LOADED
指定されたエンジンは実行されていません。
P_E_REQUESTER_NOT_LOADED
クライアント リクエスターがロードされていません。
P_E_SERVER_TABLE_FULL
内部サーバー名テーブルがいっぱいです。
P_E_CLIENT_CONNECTIONS_LIMIT_REACHED
クライアント接続の制限に達したため、接続できませんでした。サーバーの設定をチェックしてください。
P_E_PERMISSION_ERROR
操作でアクセス許可エラーが発生しました。
P_E_NO_MEMORY
操作でメモリ エラーが発生しました。
P_E_NO_AVAILABLE_TRANSPORT
リモート接続を一切確立できませんでした。
P_E_CONNECTION_LOST
サーバーへのリモート接続が失われました。
備考
接続先のサーバー名を知っておく必要があります。複数のサーバーに対して開かれた接続を持つことができます。
データベース エンジンが起動しているローカルで実行されているアプリケーションでは、ユーザー名とパスワードを省略できます。省略しても、任意の DTI 関数の呼び出しや、すべての設定の表示および変更は行えます。
ただし、DTI アプリケーションがターミナル サービス セッションを介して実行されている場合、あるいはリモートで実行されている場合は、サーバー マシン上で、管理者レベルの権限を持つユーザーのユーザー名とパスワードを提供してください。これにより、アプリケーションが DTI 関数へのフル アクセスを持つようになります。管理者レベル権限がない場合、アプリケーションはほとんどの DTI 関数に対してアクセス エラーを返します。関数のサブセットのみが動作します。たとえば、フル アクセスが許可されている場合に設定を変更できる関数の多くは、読み取り専用のアクセスに制限されます。
メモ: この関数を使ってサーバーへの接続を試みる前に、PvStart()を呼び出して DTI を初期化しておく必要があります。
BTI_CHAR_PTR uName = "jsmith";
BTI_CHAR_PTR pword = "123";
BTI_CHAR_PTR svrName = "myserver";
BTI_LONG_PTR phConn = 0xFFFFFFFF;
BTI_SINT status = 0;
 
status = PvConnectServer(svrName,
uName,
pword,
&phConn);
関連項目
PvStart()
PvGetServerName()
PvDisconnect()
PvStop()