PvConnectServer()
Zen データベース エンジンがインストールされているターゲット サーバーに接続を試みます。接続が正常に確立すると、以降の参照用の接続ハンドルが返されます。
ヘッダー ファイル:connect.h(
「ヘッダー ファイル」も参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(macOS)(
「リンク ライブラリ」も参照)
構文
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 Zen』の 「ドライブ ベースの形式」も参照してください。 |
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);
関連項目