intra-mart IM-FormaDesigner / IM-BIS トラブルシューティング 第9版 2021-08-01

4.9. インポートでエラーが発生した


4.9.1. インポートを行うと『テーブルの作成に失敗しました。』というメッセージが表示される

対象バージョン

  • IM-FormaDesigner Version 7.2 の場合

    • IM-FormaDesigner Version 7.2.0 ~ 最新バージョン
  • IM-FormaDesigner for Accel Platform の場合

    • IM-FormaDesigner for Accel Platform 2012 Autumn (8.0.1) ~ 最新バージョン
  • IM-BIS for Accel Platform の場合

    • IM-BIS for Accel Platform 2012 Winter (8.0.0) ~ 最新バージョン

現象

IM-FormaDesigner で作成したアプリケーションや IM-BIS で作成したフローのインポートを行った際に「テーブル○○の作成に失敗しました。」というメッセージが表示される。
インポート後の IM-BIS で作成したフローに対して「定義の反映」を実行するとエラーが発生する。
インポート後の IM-FormaDesigner で作成したアプリケーションの「テーブル設定」からテーブルの「参照」をクリックするとエラーが発生し、参照できない。

条件

以下のすべての条件を満たしている場合に発生します。
  • アプリケーション定義のインポートファイルを作成した環境とインポートを実行した環境のデータベースの種類が異なっている。
  • インポート先環境に対象のアプリケーションを登録したことがなく新規にインポートを実行している。
以下のアプリケーション種別・BIS作成種類の場合に発生します。
  • アプリケーション種別「標準」
  • アプリケーション種別「IM-Workflow」
  • BIS作成種類「BISフロー」
  • BIS作成種類「ワークフロー」

原因

製品の仕様です。
IM-FormaDesigner / IM-BIS では、アプリケーションやフローのインポートファイル内でテーブルの作成に必要なDDLを作成元環境のデータベースに基づいて生成しています。
インポート先のデータベースの種類が異なる場合、インポートファイル内のDDLがインポート先のデータベースに適合しないためにエラーが発生します。
intra-mart から提供している各種ドキュメントやCookbookで提供しているサンプルの場合には、サンプルが PostgreSQL の環境で作成されているため、 PostgreSQL 以外のデータベース環境で利用する際に上記の事項と同様にエラーが発生します。

解決方法

ありません。

回避方法

  • インポートを利用する際にはデータベースの種類を合わせるようにしてください。

復旧方法

インポート後に、以下の手順に基づいてテーブルや関連する情報の誤った内容を削除し、正しい内容になるように登録してください。
  • IM-FormaDesigner のアプリケーション定義の場合

    1. 「サイトマップ」→「Forma管理画面」→「アプリ一覧」をクリックしてください。

    2. インポートを行ったアプリケーションの「編集」をクリックしてください。

    3. 「テーブル設定」タブをクリックしてください。

    4. 不整合が発生しているテーブル設定情報を削除するために「削除」をクリックしてください。
      この際、「アプリケーションデータを格納するテーブルも削除する。」のチェックボックスはオフにしてください。
      チェックボックスをオンにして実行した場合、存在しないテーブルを削除する旨のエラーが発生します。
    5. 新たにテーブルの設定情報、テーブルを登録するために「登録」をクリックしてください。

    6. カラムサイズやテーブル名を入力し、「登録」をクリックしてください。
      テーブル名などが不明な場合はインポート元環境の「テーブル設定」で確認してください。
    7. 以上で、インポート対象のアプリケーションに対する不整合を解消することができました。

  • IM-BIS で作成したフローに紐づく定義の場合

    1. 「サイトマップ」→「IM-BIS」→「システム管理者」→「IM-BIS作成」→「IM-BIS」をクリックしてください。

    2. 「IM-BIS-一覧」を表示するために「IM-BIS-更新履歴」の「一覧」をクリックしてください。
    3. インポートを行ったBISで作成したフローの「アプリ」をクリックしてください。
    4. 不整合が発生しているテーブル設定情報を削除するために「削除」をクリックしてください。
      この際、「アプリケーションデータを格納するテーブルも削除する。」のチェックボックスはオフにしてください。
      チェックボックスをオンにして実行した場合、存在しないテーブルを削除する旨のエラーが発生します。
    5. 「IM-BIS-一覧」に戻り、対象の IM-BIS で作成したフローの「編集」をクリックしてください。

    6. 「定義の反映」をクリックしてください。

    7. 以上で、インポート対象の IM-BIS で作成したフローに対する不整合を解消することができました。