■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
主キーがnull許可になってしまう 2005/11/29 15:01 OBER 2
主キーにしたい列がnull許可になってしまい、フォワードできません。
どうしてでしょうか?

現象:
エンティティ画面で、主キーの列にチェックを入れると、必須列が使用不可になるが、必須チェックが付いていないまま使用不可になり、フォワード時に

-------------------------------------------
CREATE TABLE xxx(
/* 主キーにしたい行 */
aaa INT NULL,
・・・
)
go
/* NULL許可なので主キーにできず、エラー */
ALTER TABLE xxx
ADD PRIMARY KEY CLUSTERED (aaa)
-------------------------------------------

で、NULL許可なので主キーにできず、エラーになってしまいます。

主キーの列のチェックをはずして、必須列を使用可にして必須チェックを付けた後、再度主キーの列のチェックを付けて、
エンティティを保存 -> もう一度エンティティ画面を開く
とすると、なぜか必須チェックが外れてしまっていて、NOT NULLにすることもできません。

なぜこのような現象が起きてしまうのでしょうか?

宜しくお願いいたします。

>>追記
バージョン3.0.2.15, 3.0.1.5 の両方で確認しています。
OBERはWindows2000で利用していて、SQLServer2000にフォワードしようとしています。
宜しくお願いいたします。
こんにちは、橋爪@SIです。

別ファイルにて新規にエンティティを作成し、主キーのチェックを
入れた場合はいかがでしょうか?

単一のedmファイルでのみ現象が発生する場合は、edmファイルが破損
している可能性もございますので、サポート宛にedmファイルをお送り
いただいてもよろしいでしょうか。

どうぞ宜しくお願いいたします。
お世話になります。

以下の方法で解決しました!

主キーの列のチェックをはずして、必須列にチェックし、エンティティを保存
->
このとき、「主キー項目の情報を外部キー項目に反映させますか?」でいいえを選択。
->
もう一度エンティティ画面を開き、主キーの列のチェックを付けて、エンティティを保存

お手数をお掛けして、申し訳ありませんでした。
今後も宜しくお願いいたします。