■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
検索オプション
大場@SI
こんにちは
システムインテグレータの大場です。
以下のオペレーションで、対応可能かと思われます。
(見当違いの回答でしたらすみません。)
1.CUST_CPより、QUOTATIONにFKを貼る。
2.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CSC_CUST_CD,CSC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
3.CUST_CPより、QUOTATIONにFKを貼る。
4.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CTC_CUST_CD,CTC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
5.CUST_CPより、QUOTATIONにFKを貼る。
6.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CPC_CUST_CD,CPC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
これでスクリプトを作成すると以下のようになります。
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_3 FOREIGN KEY(CSC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_2 FOREIGN KEY(CTC_CUST_CD, CTC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_1 FOREIGN KEY(CPC_CUST_CD, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
システムインテグレータの大場です。
以下のオペレーションで、対応可能かと思われます。
(見当違いの回答でしたらすみません。)
1.CUST_CPより、QUOTATIONにFKを貼る。
2.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CSC_CUST_CD,CSC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
3.CUST_CPより、QUOTATIONにFKを貼る。
4.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CTC_CUST_CD,CTC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
5.CUST_CPより、QUOTATIONにFKを貼る。
6.QUOTATIONに作成されたCUST_CD, CUST_CNTCT_PSNAL_NOを属性画面で
CPC_CUST_CD,CPC_CUST_CNTCT_PSNAL_NOに物理名を変更する。
これでスクリプトを作成すると以下のようになります。
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_3 FOREIGN KEY(CSC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_2 FOREIGN KEY(CTC_CUST_CD, CTC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_1 FOREIGN KEY(CPC_CUST_CD, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
返信を投稿
OBER
fairyking
お世話になっています。
下記の件で私も困っています。
私の場合は、サポートされていないとHPに
記載してありましたが職場の関係上WinXP ProにてOBERを
使用しておりますがこの事が原因でしょうか?
CPUとOSは以下の通りです。
Pentium4 1.8G
WinXP Pro SP1
別の端末でWin2Kで作成したファイルをWinXPで開いても
この現象は起こりませんでしたが、WinXPで作成したファイルを
Win2Kで開いた場合、レイアウトは崩れてしまいました。
お手数ですが、K氏へのサポート内容を掲示板にも
お願いします。
[大場@SI]
>こんばんわ
>システムインテグレータの大場です。
>当社の方で、現象確認致しましたが、
>再現方法が特定できておりません。
>
>詳しい内容を、サポートメール宛にお送り願えませんでしょうか?
>ご不便をお掛けして大変申し訳ございませんが
>よろしくお願い致します。
>
>[K]
>>OBER 便利に使わせてもらっています。
>>ところで以下の現象でちょっと困っています。
>>対策などありましたら教えて下さい。
>>
>>リレーション操作の自動調整や、自動変形のチェックをはずして、
>>モデルを綺麗に配置した後、保存しました。
>>もう一度開いてみると、せっかく苦労して綺麗に配置したリレーション
>>が、メチャメチャになっていました。
>>どうも自動調整・変形がなされているような感じです。
>>
>>再度レイアウトを手でやり直して、保存。
>>しかし、開き直すとまたレイアウトが崩れてしまいます。
>>
>>これはこういう仕様なのでしょうか?
>>それとも一度レイアウトした位置をロックする方法が別にあるのでしょうか?
>>皆さんはどうされていますか?
>>
>>
>>
>>
>>
>>
下記の件で私も困っています。
私の場合は、サポートされていないとHPに
記載してありましたが職場の関係上WinXP ProにてOBERを
使用しておりますがこの事が原因でしょうか?
CPUとOSは以下の通りです。
Pentium4 1.8G
WinXP Pro SP1
別の端末でWin2Kで作成したファイルをWinXPで開いても
この現象は起こりませんでしたが、WinXPで作成したファイルを
Win2Kで開いた場合、レイアウトは崩れてしまいました。
お手数ですが、K氏へのサポート内容を掲示板にも
お願いします。
[大場@SI]
>こんばんわ
>システムインテグレータの大場です。
>当社の方で、現象確認致しましたが、
>再現方法が特定できておりません。
>
>詳しい内容を、サポートメール宛にお送り願えませんでしょうか?
>ご不便をお掛けして大変申し訳ございませんが
>よろしくお願い致します。
>
>[K]
>>OBER 便利に使わせてもらっています。
>>ところで以下の現象でちょっと困っています。
>>対策などありましたら教えて下さい。
>>
>>リレーション操作の自動調整や、自動変形のチェックをはずして、
>>モデルを綺麗に配置した後、保存しました。
>>もう一度開いてみると、せっかく苦労して綺麗に配置したリレーション
>>が、メチャメチャになっていました。
>>どうも自動調整・変形がなされているような感じです。
>>
>>再度レイアウトを手でやり直して、保存。
>>しかし、開き直すとまたレイアウトが崩れてしまいます。
>>
>>これはこういう仕様なのでしょうか?
>>それとも一度レイアウトした位置をロックする方法が別にあるのでしょうか?
>>皆さんはどうされていますか?
>>
>>
>>
>>
>>
>>
返信を投稿
OBER
ほえほえ
ほえほえです。
一つのテーブルから複数のFKを定義すると、不正なFKを作成するスクリプトが出力
されるようです。
下記例ではQUOTATION(見積)テーブルからCUST_CP(取引先担当者)に3つのFKキーを
作成したいのですが、3つとも同じ物が作成されてしまいます。
今は手作業でスクリプトを修正していますが、こういったケースでは
どのようにするのがいいのでしょうか?
今のOBERでは参照先の項目は指定できますが、参照元の項目を設定する
ところがないようなのですが。
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_3 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_4 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_5 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
一つのテーブルから複数のFKを定義すると、不正なFKを作成するスクリプトが出力
されるようです。
下記例ではQUOTATION(見積)テーブルからCUST_CP(取引先担当者)に3つのFKキーを
作成したいのですが、3つとも同じ物が作成されてしまいます。
今は手作業でスクリプトを修正していますが、こういったケースでは
どのようにするのがいいのでしょうか?
今のOBERでは参照先の項目は指定できますが、参照元の項目を設定する
ところがないようなのですが。
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_3 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_4 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
ALTER TABLE QUOTATION
ADD(CONSTRAINT FK_QUOTATION_5 FOREIGN KEY(CSC_CUST_CD, CTC_CUST_CD, CPC_CUST_CD, CSC_CUST_CNTCT_PSNAL_NO, CTC_CUST_CNTCT_PSNAL_NO, CPC_CUST_CNTCT_PSNAL_NO) REFERENCES CUST_CP (CUST_CD, CUST_CNTCT_PSNAL_NO))
/
返信を投稿
OBER
ほえほえ
プライマリキーの作成について質問があります。
プライマリキーはどうやら項目の作成順にて作られているようです。
以下、例で説明します。
1.テーブルの定義は項目1番目~6番目の順序で作成した。
2.その後、4番目の項目を一番上に移動した。
3.プライマリキーのチェックは項目1番目から4番目にチェックした。
4.その結果、出力されるプライマリキーインデックスの順番としては
(4番目、1番目、2番目、3番目)
を期待していたが、作成した順番の
(1番目、2番目、3番目、4番目)
で作成された。
---------プレビューより抜粋-------
CREATE TABLE エンティティ1
(
4番目(P4) CHAR(8) NOT NULL,
1番目(P1) CHAR(8) NOT NULL,
2番目(P2) CHAR(8) NOT NULL,
3番目(P3) CHAR(8) NOT NULL,
5番目(なし) CHAR(8),
6番目(なし) CHAR(8)
)
/
ALTER TABLE エンティティ1
ADD(PRIMARY KEY (1番目(P1), 2番目(P2), 3番目(P3), 4番目(P4)) USING INDEX)
/
-------------------------
プライマリキーの項目順番はとても重要だと思います。図上の項目の順番にてインデックスが
利くようにコーディングするのですが、違う順番で定義されているとインデックスが
ききません。
そこで
1.ER図上で見える順番でプライマリキーを作成する
2.インデックスを定義する画面にて上下ボタンなどにより
項目の順番を指定できる。
のような対応が必要ではないかと思うのですが。いかがでしょうか?
プライマリキーはどうやら項目の作成順にて作られているようです。
以下、例で説明します。
1.テーブルの定義は項目1番目~6番目の順序で作成した。
2.その後、4番目の項目を一番上に移動した。
3.プライマリキーのチェックは項目1番目から4番目にチェックした。
4.その結果、出力されるプライマリキーインデックスの順番としては
(4番目、1番目、2番目、3番目)
を期待していたが、作成した順番の
(1番目、2番目、3番目、4番目)
で作成された。
---------プレビューより抜粋-------
CREATE TABLE エンティティ1
(
4番目(P4) CHAR(8) NOT NULL,
1番目(P1) CHAR(8) NOT NULL,
2番目(P2) CHAR(8) NOT NULL,
3番目(P3) CHAR(8) NOT NULL,
5番目(なし) CHAR(8),
6番目(なし) CHAR(8)
)
/
ALTER TABLE エンティティ1
ADD(PRIMARY KEY (1番目(P1), 2番目(P2), 3番目(P3), 4番目(P4)) USING INDEX)
/
-------------------------
プライマリキーの項目順番はとても重要だと思います。図上の項目の順番にてインデックスが
利くようにコーディングするのですが、違う順番で定義されているとインデックスが
ききません。
そこで
1.ER図上で見える順番でプライマリキーを作成する
2.インデックスを定義する画面にて上下ボタンなどにより
項目の順番を指定できる。
のような対応が必要ではないかと思うのですが。いかがでしょうか?
返信を投稿
OBER
大場@SI
こんばんわ
システムインテグレータの大場です。
御報告のエラーですが、SI Object Browser の使用している
BDE(Borland Database Engine)が何らかの原因で
行の特定ができない場合発生するエラーとなります。
お手数ですが以下の情報をサポート宛にメール頂けますでしょうか。
1)
表示メニュー>「オプション」>「SQL結果出力」タブの
『データ編集時の自動コミットを行わない』= ON
『初期状態をデータ編集可能にする』= ON
にしてデータタブ左のコミットボタン(○ボタン)にてデータを確定した場合
現象が再現するか
2)
エラーの発生する行は特定されているか。
(同一テーブルでもエラーが発生しない行もある、他のテーブルでは全く出ない等)
3)
環境情報
・サーバ側Oracleバージョン
・クライアント側sqlora8.dllバージョン
・BDE設定でのVENDER INIT 値
どうぞよろしくお願いします。
[oob命]
>データシートで変更を行おうとすると、「ほかのユーザーがレコードを変更したため
>編集を実行できませんでした」と表示されてしまいます。このメッセージが表示されると
>OOBを一旦終了し再度データシートで変更を行おうとしてもメッセージが表示され
>変更できません。
>(1)どのように回避すればメッセージが出ないようになるか教えてください。
>(2)また、データシートへの変更を行いたいのですが、どうすれば可能となりますか。
>
>上記メッセージが発生したのは以下のように実行しました。
>(a)端末Aで、アプリケーションを実行してデータシート変更対象となるTABLEのあるレコードを更新した。
>(b)その後端末Bで更新したTABLEのデータシートを開き、データを更新しようとした。
>(c)「ほかのユーザー・・・」メッセージが表示された。
>端末Aでデータシートを開きデータを更新しようとするが現象は変わりませんでした。
>
>ちなみに、sql*plus等ではレコードの更新はできます。
システムインテグレータの大場です。
御報告のエラーですが、SI Object Browser の使用している
BDE(Borland Database Engine)が何らかの原因で
行の特定ができない場合発生するエラーとなります。
お手数ですが以下の情報をサポート宛にメール頂けますでしょうか。
1)
表示メニュー>「オプション」>「SQL結果出力」タブの
『データ編集時の自動コミットを行わない』= ON
『初期状態をデータ編集可能にする』= ON
にしてデータタブ左のコミットボタン(○ボタン)にてデータを確定した場合
現象が再現するか
2)
エラーの発生する行は特定されているか。
(同一テーブルでもエラーが発生しない行もある、他のテーブルでは全く出ない等)
3)
環境情報
・サーバ側Oracleバージョン
・クライアント側sqlora8.dllバージョン
・BDE設定でのVENDER INIT 値
どうぞよろしくお願いします。
[oob命]
>データシートで変更を行おうとすると、「ほかのユーザーがレコードを変更したため
>編集を実行できませんでした」と表示されてしまいます。このメッセージが表示されると
>OOBを一旦終了し再度データシートで変更を行おうとしてもメッセージが表示され
>変更できません。
>(1)どのように回避すればメッセージが出ないようになるか教えてください。
>(2)また、データシートへの変更を行いたいのですが、どうすれば可能となりますか。
>
>上記メッセージが発生したのは以下のように実行しました。
>(a)端末Aで、アプリケーションを実行してデータシート変更対象となるTABLEのあるレコードを更新した。
>(b)その後端末Bで更新したTABLEのデータシートを開き、データを更新しようとした。
>(c)「ほかのユーザー・・・」メッセージが表示された。
>端末Aでデータシートを開きデータを更新しようとするが現象は変わりませんでした。
>
>ちなみに、sql*plus等ではレコードの更新はできます。
返信を投稿
OB
大場@SI
こんばんわ
システムインテグレータの大場です。
>テーブルのスクリプト出力で、データをInsert文に出力できますが、
>現状だと、必ず全レコード出力しますよね。
>
>これを、Where条件を指定して、合致するデータのみを出力する様に
>機能追加して頂けると、非常にありがたいです。
ご要望ありがとうございます。
バージョンアップの際に検討させていただきます。
[SEGA]
>SEGAです。
>
>ObjectBrowserについて、
>テーブルのスクリプト出力で、データをInsert文に出力できますが、
>現状だと、必ず全レコード出力しますよね。
>
>これを、Where条件を指定して、合致するデータのみを出力する様に
>機能追加して頂けると、非常にありがたいです。
>
>ご一考頂ければ幸いです。
>よろしくお願い致します。
>
システムインテグレータの大場です。
>テーブルのスクリプト出力で、データをInsert文に出力できますが、
>現状だと、必ず全レコード出力しますよね。
>
>これを、Where条件を指定して、合致するデータのみを出力する様に
>機能追加して頂けると、非常にありがたいです。
ご要望ありがとうございます。
バージョンアップの際に検討させていただきます。
[SEGA]
>SEGAです。
>
>ObjectBrowserについて、
>テーブルのスクリプト出力で、データをInsert文に出力できますが、
>現状だと、必ず全レコード出力しますよね。
>
>これを、Where条件を指定して、合致するデータのみを出力する様に
>機能追加して頂けると、非常にありがたいです。
>
>ご一考頂ければ幸いです。
>よろしくお願い致します。
>
返信を投稿
OB
大場@SI
こんばんわ
システムインテグレータの大場です。
SI OBJECT BROWSER の使用しているBDE(Borland Database Engine)の
バッファエラーとなります。
SELECTした結果セットが大きい場合、発生するものです。
現在のところ、プログラム側での制御ができないため、回避策としては
FAQにも記述してありますが、
・列数を絞ったVIEWを作成する。
となります。
ご不便をお掛けして申し訳ございませんが
よろしくお願い致します。
[IF]
>OBを以前の会社で使っていて今回の仕事先でも導入していただこうと思い試用している藤田と申します。
>
>サブジェクトの件ですが、239バイトのカラムが200個以上あるテーブルの内容表示を行うと
>プログラムがアベンドしてしまいます。
>
>私の中ではそのようなテーブル設計が悪い という結論なのですが仕様上止むを得ない状況です。
>またこのような悪条件の中作業を楽に進めるためにOBを導入したいとも考えております。
>
>バージョンは最新のバージョンで試用しております。
>回避方・対策などご教授願えればと思います。
システムインテグレータの大場です。
SI OBJECT BROWSER の使用しているBDE(Borland Database Engine)の
バッファエラーとなります。
SELECTした結果セットが大きい場合、発生するものです。
現在のところ、プログラム側での制御ができないため、回避策としては
FAQにも記述してありますが、
・列数を絞ったVIEWを作成する。
となります。
ご不便をお掛けして申し訳ございませんが
よろしくお願い致します。
[IF]
>OBを以前の会社で使っていて今回の仕事先でも導入していただこうと思い試用している藤田と申します。
>
>サブジェクトの件ですが、239バイトのカラムが200個以上あるテーブルの内容表示を行うと
>プログラムがアベンドしてしまいます。
>
>私の中ではそのようなテーブル設計が悪い という結論なのですが仕様上止むを得ない状況です。
>またこのような悪条件の中作業を楽に進めるためにOBを導入したいとも考えております。
>
>バージョンは最新のバージョンで試用しております。
>回避方・対策などご教授願えればと思います。
返信を投稿
OB
oob命
データシートで変更を行おうとすると、「ほかのユーザーがレコードを変更したため
編集を実行できませんでした」と表示されてしまいます。このメッセージが表示されると
OOBを一旦終了し再度データシートで変更を行おうとしてもメッセージが表示され
変更できません。
(1)どのように回避すればメッセージが出ないようになるか教えてください。
(2)また、データシートへの変更を行いたいのですが、どうすれば可能となりますか。
上記メッセージが発生したのは以下のように実行しました。
(a)端末Aで、アプリケーションを実行してデータシート変更対象となるTABLEのあるレコードを更新した。
(b)その後端末Bで更新したTABLEのデータシートを開き、データを更新しようとした。
(c)「ほかのユーザー・・・」メッセージが表示された。
端末Aでデータシートを開きデータを更新しようとするが現象は変わりませんでした。
ちなみに、sql*plus等ではレコードの更新はできます。
編集を実行できませんでした」と表示されてしまいます。このメッセージが表示されると
OOBを一旦終了し再度データシートで変更を行おうとしてもメッセージが表示され
変更できません。
(1)どのように回避すればメッセージが出ないようになるか教えてください。
(2)また、データシートへの変更を行いたいのですが、どうすれば可能となりますか。
上記メッセージが発生したのは以下のように実行しました。
(a)端末Aで、アプリケーションを実行してデータシート変更対象となるTABLEのあるレコードを更新した。
(b)その後端末Bで更新したTABLEのデータシートを開き、データを更新しようとした。
(c)「ほかのユーザー・・・」メッセージが表示された。
端末Aでデータシートを開きデータを更新しようとするが現象は変わりませんでした。
ちなみに、sql*plus等ではレコードの更新はできます。
返信を投稿
OB
arumakan
>涙が出そうなほどの嬉しいお言葉をありがとうございます。
そんな滅相もありません。
OBのおかげでPL*SQLの開発がどれだけ楽になったか・・・。
OB-ERもまだまだチューニングの余地がありそうですが、期待していますので、これからも頑張って下さい
そんな滅相もありません。
OBのおかげでPL*SQLの開発がどれだけ楽になったか・・・。
OB-ERもまだまだチューニングの余地がありそうですが、期待していますので、これからも頑張って下さい
返信を投稿
OBER