掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     DAO.Workspace [3146]エラーについて


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-10-19 15:25

DAO.Workspace [3146]エラーについて

EA7.0を利用していましたが、EA7.1.832へバージョンUPしたところ、
設定メニューのコード生成のテンプレートを選択すると
以下のエラーメッセージボックスがテンプレートの数分表示されます。

------------------------------
DAO.Workspace [3146]
ODBC--呼び出しは失敗しました。
------------------------------

回避する方法はありませんでしょうか?
sugimoto
投稿日時: 2008-10-20 10:48
EA Administrator
投稿: 1895

Re: DAO.Workspace [3146]エラーについて

ご迷惑をお掛けしており申し訳ございません。

コード生成テンプレートを開いた際に、ご連絡いただいたような
エラーメッセージが表示されるという現象はご指摘がなく、
現状、回避策が不明な状況です。

現在、Enterprise Architectのプロジェクトは、EAPファイルで
管理されていますでしょうか?それとも、DBMSで管理されています
でしょうか?
DBMSで管理している場合、EAPファイルでプロジェクトを開いた場合も、
同様のエラーが発生しますでしょうか?

恐れ入りますが、再現のために情報をお寄せいただけますと
助かります。
未登録ゲスト
投稿日時: 2008-10-25 13:58

Re: DAO.Workspace [3146]エラーについて


プロジェクトファイルは、*.eapファイルです。
"DBMSで管理"は心あたりがないので、多分違うと思います。

前回の投稿のあと、RTFドキュメントを生成しようとしたら、
同じ様に、"DAO.Workspace[3146]"エラーが連続で発生し
(途中、"他のユーザーによって変更されました"旨のウィンドウが表示されました)
EAがハングアップしました。

再度同じファイルを開いてEAを立ち上げたところ、"DAO.Workspace[3146]"は全く
発生しなくなりました。
しかし、以下の現象がありました。
①コート生成テンプレートの一部のテンプレートが表示されない。
 C言語テンプレートですが、変更、または追加のテンプレートが表示されません。
 しかしコード生成は意図した変更が出力されます。
②RTFドキュメント生成中にEAがハングアップする。
③テスト項目ウィンドウの左側の項目を選択しても、右側(テスト、状態、種類、説明等のタブ)に反映されない

ハングアップするのは厳しいので、アンインストールし、EA7.0をインストールしたところ
②③は発生しなくなりましたが、①は解消されていません。
RTFを作成する必要があるので、とりあえずEA7.0を使います。

気になっているのは以下の点です。
・eapファイルはEA6.5のときから編集してきたファイル
・"JET4.0を利用"にチェックして保存した要素が混在している
 (ツール->オプションダイアログの一般)
 チェックする羽目になったのは、"DAO.Recordset[3000]"を回避する為
 

tkouno
投稿日時: 2008-10-27 9:23
EA Administrator
投稿: 3939

Re: DAO.Workspace [3146]エラーについて

引き続きご迷惑をおかけし申し訳ございません。

頂きました情報で状況が理解できました。
ただ、ご指摘の問題は他のお客様からは寄せられておらず
また弊社でも未知の問題であり、原因はわかっておりません。

可能性として、EAPファイルの内容に問題があるかもしれません。
問題の切り分けのために、以下の手順でEAPファイルの
コピーを作成し、問題が発生するかご確認いただけますでしょうか?

1. Enterprise Architect7.1ビルド833をインストールします。
2. Enterprise Architectを起動します。JET4.0は利用する状態にしてください。
3. 以下のページから「EABase_JET4.lzh」をダウンロードして
解凍して下さい。

https://www.sparxsystems.jp/registered/reg_ea_down.htm

4. Enterprise Architectのメインメニューから「ツール」→「プロジェクトの管理」
→「プロジェクトの転送」を選択して下さい。
5. 表示されるダイアログで、「転送の種類」を「EAP→EAP」に設定し、
「対象1」を現在利用しているファイル、「対象2」を解凍した
EAPファイルにして下さい。
6.「転送」ボタンを押して処理を実行して下さい。現在利用している
EAPファイルの内容を、新しいファイルにコピーします。
7. 解凍したEAPファイルを開き、問題が起きるかどうか確認して下さい。


お手数をおかけし申し訳ございませんが
ご確認のほどよろしくお願いします。


未登録ゲスト
投稿日時: 2008-11-2 12:53

Re: DAO.Workspace [3146]エラーについて


手順に沿って確認してみました。
前述の①②③は解消されましたが、"JET4.0を利用"のチェックをはずすと、
"エラーが発生しました: '(filename)'を認識できません"
のMSGBOXが出てきてファイルを読めません。
予期している動作でしょうか?

こうなると、"JET4.0を利用"のチェックがはずせなくなります。
DBに関しては、素人程度の知識しかなく不甲斐ないのですが、
JET4.0のチェックをはずさないと回避できないようが症状が発生した場合に、
最悪どうにもならなくなるのでは、と心配になります。

"EAはバージョンによって内部のデータベース構成が異なる"ということで
気になったのですが、OSの違いはありますでしょうか?
私は、個人ライセンスと、最近会社で購入してもらったライセンスがあり、
それぞれのEAでファイルをコピーして編集しています。
個人ライセンスは、WindowsVista SP1、会社は、WindowsXP SP2です。
これらの違いが影響している可能性はありますでしょうか?
tkouno
投稿日時: 2008-11-4 9:01
EA Administrator
投稿: 3939

Re: DAO.Workspace [3146]エラーについて

お忙しい中ご確認ありがとうございました。
ご指摘の問題はかいしょうされたとのことで、安心しました。



ご指摘のエラーは正しい挙動です。

Enterprise Architectで利用しているMS-JETデータベースエンジンは
EAの範囲では以下の2つのバージョンがあります。

バージョン3.5(既定値):Access97で利用されているもの
バージョン4.0:Access2000/2002で利用されているもの

これらのバージョンと利用されているOSとの依存関係はありません。


EAPファイルの形式として、「バージョン3.5形式」「バージョン4.0形式」の
2つがあり、またEAが内部的に利用するDLLにもこの2つがあります。
利用するDLLは「JET4.0を利用」のオプションで制御します。

このJETは後方互換(上位互換)なので、

・「バージョン4.0」のDLL(オプションON)では「バージョン3.5形式」「バージョン4.0形式」のどちらも利用可能
・「バージョン3.5」のDLL(オプションOFF)では「バージョン3.5形式」のみ利用可能

となります。

今回の解決策は、上位バージョンとなるバージョン4.0の形式に変更しましたので
チェックを外した下位バージョンで認識できない(エラーが表示される)のは正しい挙動です。


バージョン3.5はUNICODE未対応など、特に日本語環境で利用するには
問題が発生しやすいものです。今回の問題もその関係かと推測し
以前の投稿にあったような操作をお願いしました。


> JET4.0のチェックをはずさないと回避できないようが症状が発生した場合に、
> 最悪どうにもならなくなるのでは、と心配になります。

とのことですが、チェックを外した方がバージョンが下がりますので、
懸念されている問題は基本的には考えられません。


となると、なぜこのオプションがあるのか(あるいは、なぜ既定値がOFFなのか)という
疑問を感じるかもしれません。この点は弊社でも悩んでいます。日本語環境に
限れば、「既定値でチェックON」&「EAPファイルの形式はJET4.0」がベストです。

ただし、この既定値は日本だけで変更することはできないため、実現に至っていません。
Enterprise Architectは英語圏に限らず世界中で利用されるようになり、日本以外でも
類似の議論が徐々に増えてきています。将来的なバージョンアップのタイミングで
変更する可能性は十分にあります。
(ただし、そもそもJETで良いのか?という議論もありますので、その点も含めての
検討となります。)

未登録ゲスト
投稿日時: 2008-11-9 15:49

Re: DAO.Workspace [3146]エラーについて


解説ありがとうございます。
安心しました。

JET4.0のチェックは"OFF"が標準の使用方法と勝手に思っていましたが、違うんですね。
以後は、JET4.0をONにして使用します。

諸事情いろいろお察しします。
私も、なぜこのチェックボックスがあるのか疑問でした。
個人的には、通常使用では、DBMSをユーザーに意識させないことが
BESTだと思います。

ありがとうございます。
今後ともよろしくお願いします。
tkouno
投稿日時: 2008-11-10 9:19
EA Administrator
投稿: 3939

Re: DAO.Workspace [3146]エラーについて

ご返信ありがとうございました。
また、弊社事情をご理解下さいまして
ありがとうございました。

このオプションやJET4.0の利用は、バージョンアップのタイミングで
毎回検討材料となるのですが、過去の互換性などの面で
対策を考えなければならず、事実上先送りにしています。
(設定を変えると、新しいバージョンのEAPファイルが
古いバージョン+既定のオプションでは開けない。
オプション設定を変えれは良いのですが...)

データベースについては、初期の段階ではご指摘のように
意識しないことが良いと思います。

なお、Enterprise Architectの真の長所の一つは、この「モデルが
データベースに格納されている」という点です。
この意味では、どこかのタイミングでは意識するポイントが
あってもいいのかな、と思います。

今後ともよろしくお願いします。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ