日本語との親和性の高いEAPファイルの利用

Enterprise Architect8.0までのバージョンで新規に作成したEAPファイルやEnterprise Architect英語版のEAPファイルは、MicrosoftのAccess97と同じデータベースであるJETを利用しています。このJETにはバージョンがあり、Access97はバージョン3.5です。

Enterprise Architect日本語版は、日本語を正しく処理するために、内部の文字処理はUNICODEを利用して行っています。しかし、このJET3.5形式のEAPファイルはUNICODEを扱うことはできませんので、以下のような問題が発生します。

  • SQL Serverなど他のDBMSからEAPファイルにプロジェクトの転送を行った場合、DAO.Field[3163]エラーが表示され正しく転送できない
  • シナリオの種類など、設定できる項目の長さが短くなってしまう(全角換算で6文字)
  • ドキュメントテンプレートエディタで、スタイル名やフォント名が文字化けする
  • 画面内での表示が文字化けする場合がある

これらの問題は、JETのバージョンの違いによる文字の処理方法の違いが原因です。JET3.5形式のEAPファイルではUNICODEを扱うことができませんので、いわゆる全角文字は他の半角文字の2文字分として処理されてしまいます。そのため、全角文字を利用する場合には、Enterprise Architectで利用できる長さが短くなってしまう場合があります。具体的には、関連や汎化など接続の名前は、既定では50文字までとなっていますが、JET3.5の場合に全角文字で入力すると25文字までしか入りません。

Enterprise Architect日本語版のバージョン9.0以降で新規にプロジェクトファイルを作成する場合は、UNICODEにも対応しているJET4.0形式のEAPファイルが作成されます。そのため、こうした問題は発生しません。

また、Enterprise Architect バージョン14.0以降での既定の形式である、拡張子EAPXのファイルは、JET4.0形式のファイルです。この場合も同様に、上記の問題は発生しません。

この問題を改善するためには、Enterprise Architect日本語版のバージョン9.0以降で新規にプロジェクトファイルを作成するか、バージョン14.0以降のEAPXファイルを利用します。

変換済みのEAPファイルやEAPXファイルを利用する

JET3.5形式のEAPファイルの内容を、EAPXファイルかEnterprise Architect日本語版で作成するEAPファイルに転送することでも解決できます。プロジェクトファイル間で転送処理をするか(「プロジェクト」リボン内の「ツール」パネルにある「転送」→「プロジェクトの転送」)、XMIを利用してモデル情報を転送してください。ただし、文字化けが発生している場合、文字化けが発生しない環境で転送を実行しないと、文字化けしたデータが転送されてしまう場合があります。

変換したEAPファイルをEnterprise Architectで開くには

設定によっては、変換したEAPファイルを開こうとした場合、「データベースの形式を認識できません」(Unrecognized database format)のエラーが表示されます。正しく開くためには、次の設定が必要です。

  1. Enterprise Architectを起動します。
  2. 「ホーム」リボン内の「オプション」パネルにある「ユーザー」を実行します。
  3. 表示されるダイアログ左側中央やや上に「JET 4.0を利用(再起動が必要)」という項目がありますので、チェックを入れます。
  4. Enterprise Architectを一度終了させ再起動してください。

以上で、問題なく開くことができるようになります。

EAPファイルのバージョンを判定する

EAPファイルにはJET3.5と4.0の2種類のバージョンがありますが、このバージョンをファイルから判断する方法はありません。

上記の「変換したEAPファイルをEnterprise Architectで開くには」の説明中にある、「JET 4.0を利用(再起動が必要)」のチェックを外した状態でEAPファイルを開くことができる場合は、JET3.5形式のEAPファイルです。「データベースの形式を認識できません」(Unrecognized database format)のエラーが表示される場合は、JET4.0形式のEAPファイルです。