掲示板一覧   -   トピック一覧
   EA API
     TaggedValueの長さ制限


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
diosan2
投稿日時: 2007-11-30 11:45
EA Full Member
投稿: 75

TaggedValueの長さ制限

TaggedValue.Valueに255文字を越える文字列を設定した場合、
TaggedValue.Update()の呼び出し時に例外が発生してしまいます。

この制限は仕様なのでしょうか?
sugimoto
投稿日時: 2007-11-30 13:17
EA Administrator
投稿: 1992

Re: TaggedValueの長さ制限

現在、TaggedValue.Update()の呼び出し時にDAOエラーが
発生しているかと思います。

EAのTaggedValue.Valueエリアにつきましては、MAX255文字と
なっており、それを越える文字列は現状設定することはできません。

ご了承ください。

なお、上記詳細および対応方法につきましては、追記しますので、
もうしばらくお待ちください。
sugimoto
投稿日時: 2007-11-30 14:02
EA Administrator
投稿: 1992

Re: TaggedValueの長さ制限

追記させていただきます。

まず上記エラーの詳細についてですが、
EAのモデル情報はMicrosoft Accessで扱っているデータベース
形式と同様の形式に保存しており、その各エリアの最大サイズ
を超えて入力を行った場合は、データベース側でエラーが発生し、
EAではそのエラーに対しましては制御していません。
そのため、255文字を超えた入力を行った場合、データベースの
サイズを超え、今回のご指摘のようなデータベースに関するエラーが
発生します。ご了承ください。


続きまして、対応案をご提案いたします。

今回は、256文字以上の情報をタグ付き値に設定したいということと
思います。このことを前提に2通りの方法をご提案いたします。

対応案1)
タグ付き値にメモ型を定義する方法がございます。
「設定」→「UMLに関連する定義」のタグ付き値の定義タブにて、
タグの種類にて名前を定義し、詳細にてメモ型(Type=Memo;)を
指定します。この名前を用いてタグ付き値を定義した場合は、
タグ付き値のノート欄(TaggedValue.Notes)に非常に長い文字列
を設定することができるようになります。

この設定詳細につきましては、ヘルプの「独自の型のタグ付き値の作成」
および「定義済みのタグ付き値の種類」をご参照ください。

ご確認のほど、よろしくお願いいたします。


対応案2)
入力したい文字列に日本語を含む場合になりますが、データベース
の形式がJet3.5(EAで新規にプロジェクトを作成した場合は
この形式になります)の場合はバイト単位の入力になりますが、
Jet4.0の形式の場合は、文字単位の入力が可能になります。
そのため日本語(2byte文字コード)をご利用の場合は、日本語で
最大255文字まで入力することができるようになります。
(すべて英字(1byte文字コード)の場合は、Jet3.5でもJet4.0
でも入力できる文字数は同じです。)

プロジェクトファイル(.eap)をJet4.0へ変換する場合は、
Microsoft Access のツールメニューからデータベースの変換を
行ってください。


上記内容について、ご確認のほど、よろしくお願いいたします。

何かご不明点などありましたら、ご連絡ください。
diosan2
投稿日時: 2007-11-30 18:51
EA Full Member
投稿: 75

Re: TaggedValueの長さ制限

引用:

EAのモデル情報はMicrosoft Accessで扱っているデータベース
形式と同様の形式に保存しており、その各エリアの最大サイズ
を超えて入力を行った場合は、データベース側でエラーが発生し、
EAではそのエラーに対しましては制御していません。


見ているテーブルが違いました。(t_taggedvaluesの方を見ていました)
タグ付き値はt_objectpropertiesテーブルの方ですね。
255文字という制限については理解できました。

日本語は使用していないので、対応案2は該当しませんが、
対応案1の別案としてEABase.EAPのテーブル設定を
変更するという方法は可能でしょうか?
そうすれば、新規に作成したプロジェクトはメモ型に
なりそうな気がしました。
sugimoto
投稿日時: 2007-12-3 10:22
EA Administrator
投稿: 1992

Re: TaggedValueの長さ制限

引用:

見ているテーブルが違いました。(t_taggedvaluesの方を見ていました)
タグ付き値はt_objectpropertiesテーブルの方ですね。
255文字という制限については理解できました。


ご確認ありがとうございました。

引用:

日本語は使用していないので、対応案2は該当しませんが、
対応案1の別案としてEABase.EAPのテーブル設定を
変更するという方法は可能でしょうか?


対応案1において、メモ型と記載しておりましたのは、
Enterprise Architectのタグ付き値の種類についてでして、
DBのデータ型のメモ型とは異なります。
DBのテーブル設定を変更するという方法につきましては、
正しく動作する可能性もありますが、動作保証外となって
しまいますので、この点につきましてはご了承ください。

何かご不明点などありましたら、ご連絡ください。
diosan2
投稿日時: 2007-12-3 11:42
EA Full Member
投稿: 75

Re: TaggedValueの長さ制限

EAでメモ型にするとt_taggedvaluesテーブルに書かれていくんでしょうね。きっと。

とりあえず、こちらで対応策を考えたいと思います。

回答ありがとうございました。
sugimoto
投稿日時: 2007-12-3 13:23
EA Administrator
投稿: 1992

Re: TaggedValueの長さ制限

引用:

EAでメモ型にするとt_taggedvaluesテーブルに書かれていくんでしょうね。きっと。


現状、t_taggedvaluesテーブルは操作の引数に対して
タグ付き値を設定した場合のみに使用されます。
要素のタグ付き値がメモ型の場合に、その内容を設定しますと、
t_objectpropertiesのNotes欄に格納されます。
(このような対応になっている理由は開発元に確認しないと、
分かりかねます。申し訳ございません。)

引用:

とりあえず、こちらで対応策を考えたいと思います。


ご対応のほど、よろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ