このトラブルになるほとんどの方は

  • 「バッチジョブとしてログイン」の権利設定ができてない。
  • ActiveDirectory ドメイン環境とワークグループの違いによるユーザ名の設定ミス。

などが原因で、資格証明に失敗している場合だと思います。

そうではない場合に遭遇したので報告いたします。今回の症状はuniPaaS RichClient Serverを使用した場合に発生するレアなケースです。

【環境】

  • サーバ:  Windows2008 R2 X64 サーバ
  • Unipaas:  uniPaas RichClient Server V1Plus
  • データベース:Oracle 11gR2  x64
  • 同サーバ上に Oracle Client x32 もインストールしている。

【症状】

サーバ上で、UniPaas Brokerが起動するUniRTE.exeが、ORACLE11gR2のOEM(Oracle Enterprise Manager)の資格証明を阻害する。この結果OEMを使ってのORACLEの設定作業のうち、OSに対する資格証明が必要なものはすべて操作できなくなる。

資格証明のエラー有無は以下のメニューより確認している。
OEM-[プリファレンス]-[優先資格証明]-[データベースインスタンス アイコン]-[テストボタン]

【発生する条件】

Mgbi.iniの[APPLICATIONS_LIST]設定で、下記のように実行ユーザとパスワードを指定すると発生する。

RCHELLO = uniRTE.exe @rchello.ini,D:\unipaasv1p\RCHELLO,administrator,password,1,1

ここで設定するユーザを他のユーザに変えても問題は発生する。
起動する自作のUniPaaSアプリケーションは超簡単なものでも問題が発生することを確認している。
なお、下記のようにユーザ名・パスワードを指定しなければ問題は発生しない。

RCHELLO = uniRTE.exe @rchello.ini,D:\unipaasv1p\RCHELLO,,,1,1

※ユーザの指定がない場合はUniRTE.exeはSystemユーザで実行されている

【解決方法】

サービスとして起動しているUniPaas Brokerをsystemユーザではなく目的のユーザで起動するよにサービスのプロパティを設定する。
[APPLICATIONS_LIST]の行ではユーザ名、パスワードを指定しない。