CdbrSession::Connectメソッド
機能
DocSpaceとの接続
形式
// 接続先の実行環境識別子を指定しない場合
DmaBoolean CdbrSession::Connect(
pDmaId pDocSpaceID,
pDmaString_T username,
pDmaString_T password
)
// 接続先の実行環境識別子を指定する場合
DmaBoolean CdbrSession::Connect(
pDmaId pDocSpaceID,
pDmaString_T username,
pDmaString_T password,
DmaInteger32 lServerEnvId
)
詳細
pDocSpaceIdに指定した文書空間に接続するメソッドです。一つの文書空間に複数の実行環境を構築している場合は,接続先の実行環境を選択できます。
タイムアウトによってセッションが切断されたあとでCdbrSession::Connectメソッドを実行すると,major_codeがERR_DMA,minor_codeがDMARC_NETWORK_UNAVAILABLEのエラーになります。また,CdbrSession::Connectメソッド以外のメソッドをコールすると,major_codeがERR_DBR,minor_codeがERR_SESSION_NOT_CONNECTのエラーになります。これらのエラーになったあと,切断されたCdbrSessionオブジェクトを再接続する場合は,CdbrSession::Disconnectメソッドを実行してからCdbrSession::Connectメソッドを実行してください。
引数
pDocSpaceId(入力)
文書空間識別子を指定します。
pUserName(入力)
ユーザ名を指定します。
pPassword(入力)
パスワードを指定します。
lServerEnvId(入力)
接続先の実行環境識別子を指定します。
一つの文書空間に複数の実行環境を作成して同時に稼働させている場合に,クライアントでどの実行環境下のサーバに接続するかを選択します。
指定できる値は,0~254です。
指定できる値以外を指定した場合は,接続先の実行環境識別子を指定しない場合の形式と同じ動作になります。
なお,接続先の選択方法には,接続先の実行環境識別子を環境変数DBR_CONNECTSV_ENVIDに指定する方法もあります。環境変数の設定については,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ 解説」を参照してください。
クライアントで接続先を選択する場合は,接続先のDocumentSpace構成定義ファイルのSelectServerInMultiServerエントリにYesを指定して起動しておく必要があります。指定していない場合,major_codeがERR_DMA,minor_codeがDMARC_NETWORK_UNAVAILABLEのエラーになります。
戻り値
DMA_TRUE 正常終了
DMA_FALSE 異常終了
戻り値の詳細
major_code | minor_code | 説明 | 対処 |
---|---|---|---|
ERR_CORBA | CORBAの戻り値が設定されます。 | CORBAでエラーが発生しました。 | ユーザプログラムでは対処できません。エラー情報として文字列の値を取得して,ユーザプログラムを終了してください。 |
ERR_DBR | ERR_NO_SERVICE | 使用できるサービスプロセスがありません。 | 時間を置いて再度実行してください。 |
ERR_DBR | ERR_NOTSUPPORT_CLIENT_VERSION | 互換性のないサーバに接続しようとしました。 | サーバのバージョンに対応したクライアントライブラリを利用してください。 |
ERR_DBR | ERR_SESSION_ALREADY_CONNECTED | セッションがすでに接続されています。 | 処理を継続してください。または,いったん切断してから,再度このメソッドをコールしてください。 |
ERR_DBR | ERR_SESSION_OVERFLOW | 制限を超えてConnectしようとしました。 | 時間を置いて,Connectユーザ数が減ったあと,再度実行してください。または,DocumentSpace構成定義ファイルのSessionMaxエントリを見直してください。 |
ERR_DMA | DMARC_BAD_DOC_SPACE | 指定された識別子の文書空間は存在しません。 | 正しい文書空間を指定してください。 |
ERR_DMA | DMARC_FAILED | DocumentSpace構成定義ファイルのProcessOrbBoaOptionエントリに,-OAthreadMaxオプションを129以上の値で指定している環境で,同時に129以上のクライアントからCdbrSession::Connectメソッドが発行されました。 | 時間を置いて再度実行するか,-OAthreadMaxオプションの値を128以下にしてください。 |
ERR_DMA | DMARC_NETWORK_ERROR | ネットワーク環境でエラーが発生しました。 | ネットワーク環境を確認してください。 |
ERR_DMA | DMARC_NETWORK_UNAVAILABLE | この操作を実行するために必要なネットワークが利用できません。 |
|
ERR_DMA | DMARC_LOST_CONNECTION | 現在のオブジェクトからデータベースへの論理的な接続が失われました。操作は完了できません。 | 文書空間に再接続してください。 |
ERR_DMA | DMARC_NO_MEMORY | メモリ不足で実行できません。 | メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。 |
ERR_DMA | DMARC_NOT_AUTHENTICATED | ユーザは認証されていません。 | 正しいユーザIDおよびパスワードを指定してください。 |
ERR_DMA | DMARC_UNEXPECTED | 予期しないエラーが発生しました。 | 処理を終了してください。 |