■SI Object Browser 掲示板


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

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

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
データベース同期 は使用できない? 2005/08/17 11:57 OBER 4
OBERをSqlServer2000、Windows2003で使用しています。
データベース-データベース同期は、エラーが発生するようです。
(テーブル情報の取得に失敗しました?)
回避策があれば教えてください。
また、未対応であればリリースのご予定を教えてください。
こんにちは、橋爪@SIです。

OBERをSqlServer2000、Windows2003でのデータベース同期ですが、
ご利用の環境下でリバースエンジニアリングは正常に行えますでしょうか?

また、データベース同期を行うウィンドウにて「比較対象」の設定はどの
ようにされましたでしょうか。
■[モデルに存在するオブジェクトのみ比較する]
 データベースにのみ存在するオブジェクトは比較の対象となりません。

■[指定したユーザーの全オブジェクトと比較する]
 [比較対象ユーザー]でチェックを入れたユーザが保持する全ての
 データベースオブジェクトと、モデル中の全オブジェクトを比較します。

ご確認お願いいたします。
回答ありがとうございます。

>OBERをSqlServer2000、Windows2003でのデータベース同期ですが、
>ご利用の環境下でリバースエンジニアリングは正常に行えますでしょうか?

リバースエンジニアリングは、行えました。
不思議なことにリバースエンジニアリングしたERでは、データベース同期が
行えます。
ただ、ER上で作ったテーブルは、データベース同期ができません。
簡単のため、以下をやってみました。

1)新規作成で新しいERを作る
2)新しいエンティティを作成。DDLは以下の通りです
CREATE TABLE CCCC
(
DDDDDD NVARCHAR(10) NOT NULL
)
go
ALTER TABLE CCCC
ADD PRIMARY KEY CLUSTERED (DDDDDD)
go
3)フォワードエンジニアリングで、DBに上記テーブルを作成
  正常に完了。テーブルも作られている。
4)データベース同期を行う(データベース変更)
  (エラーのような画面が一瞬出て)データベース値には、(存在しません)と
  表示される。→これは変ですね。
5)思い切って、同期を行うと、当然のように
  《エラー》
   データベースにオブジェクト名 'CCCC' が既に存在します。
  となります。

>
>また、データベース同期を行うウィンドウにて「比較対象」の設定はどの
>ようにされましたでしょうか。
>■[モデルに存在するオブジェクトのみ比較する]
> データベースにのみ存在するオブジェクトは比較の対象となりません。
>
>■[指定したユーザーの全オブジェクトと比較する]
> [比較対象ユーザー]でチェックを入れたユーザが保持する全ての
> データベースオブジェクトと、モデル中の全オブジェクトを比較します。

[モデルに存在するオブジェクトのみ比較する]としています。あまり関係ない気が
しますが。。。
こんにちは、橋爪@SIです。

> 1)新規作成で新しいERを作る
> 2)新しいエンティティを作成。DDLは以下の通りです
> CREATE TABLE CCCC
> (
> DDDDDD NVARCHAR(10) NOT NULL
> )
> go
> ALTER TABLE CCCC
> ADD PRIMARY KEY CLUSTERED (DDDDDD)
> go

新しいエンティティを作成した際に、スキーマ名をつけましたでしょうか?
スキーマ名をつけていない場合は、フォワード後に同期をおこなうと、
「CCCC」→「.CCCC」として同期のリバースしようしてしまい、「テーブル情報
の取得に失敗しました」とのエラーが表示され、同期がうまくいかなくなります。

ご確認お願いいたします。

>新しいエンティティを作成した際に、スキーマ名をつけましたでしょうか?
>スキーマ名をつけていない場合は、フォワード後に同期をおこなうと、
>「CCCC」→「.CCCC」として同期のリバースしようしてしまい、「テーブル情報
>の取得に失敗しました」とのエラーが表示され、同期がうまくいかなくなります。
>
>ご確認お願いいたします。
>

スキーマを指定していませんでした。
このあたりのオーナーとか、ユーザとか、スキーマとかは、難しいところですね。
Oracleとも違うし。。
とにかく、うまく行きそうなので、ありがとうございました。