†でおきしブログ†

ウナギ食べたいヽ(•̀ω•́ )ゝ✧

【iDempiere】デバッグビルド起動時ad_process_idが無くてエラーになった時の解消方法【OSS ERP】

☆追記

2014/08/26
ソースファイル内のmigrationフォルダの中のsqlを実行していなかったのが原因だった。
SourceforgeのiDempiereのバージョンが2.0だったので、migrationの"i2.0"、"i2.0z"の順で中のsqlを全部実行してDBに更新かけたら動作しました。
以下に記載しているような直接テーブルカラムを追加するような必要はありません。(migrationのsqlに含まれています)

☆結論

ad_preferenceテーブルに、以下カラムを追加する

  1. ad_process_id
    • numeric(14)
  2. preferencefor
    • char(1)

すると起動できた。

Compiere入門―ついに可能になった!オープンソースERPで基幹システム

Compiere入門―ついに可能になった!オープンソースERPで基幹システム

☆以下、蛇足

以降、windows7環境でのお話です

★通常環境の構築

SourceforgeのiDempiereプロジェクトのdata->seed->Adempiere_pg.jarを解凍して出てきたAdempiere_pg.dmpを使用して、postgreSQLのDBへリストア実施。

setup.bat後のidempiere.exeで起動、ログインして画面が表示される事を確認。
問題無く動作してる。

デバッグビルドでの起動時

bitbucket.orgからソースを落としてEclipseでごちゃごちゃと環境設定後に、server.productのデバッグ実行でログイン画面が表示される事は確認できたが、SuperUserでログイン後、GardenWorldロールでシステムに入ろうとすると、ad_process_idがどうとか言うエラーメッセージが出て、動作不能に陥る。

ログインアカウントやロールを変えても現象は変わらず、いろいろWeb検索しているとよくわからない中国語のサイトにひっかかり、冒頭のカラムを追加する旨が記載されており、おそるおそる実施。
…動いた。

★腑に落ちない事

Sourceforgeのパッケージと、bitbucket.orgのソースのそれぞれのAdempiere_pg.dmpがまったく同一だったんですよね…。
ソース側で冒頭のカラムが異なっていれば、違うものであったと思うのだけれど、謎です。

ちなみに、swingclient.productの実行は何故か普通に起動するんですよね…。こちらは件のカラムを参照していないのかなぁ…。
よくわからん。

同じような現象に陥った人の何かの助けになればと思い、メモっときました。


ではでは。