■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
検索オプション
まり
OB7を使用しております。
そこで、質問なのですが、「ロード」という機能を使い、DATファイルとCTLファイルを作成したいのです。
出力するテーブルには現在1,220,499件データがありまして、「ロード」(DB→ファイル)を実行すると
588,672件までしか出力されないのです。
処理後「処理を完了しました」のメッセージボックスが表示され、その後
「一時テーブルのリソース制限を超えます」とメッセージが表示されます。
これは何か設定の問題なのでしょうか?
分かる方がいらっしゃいましたらご回答お願いします。
そこで、質問なのですが、「ロード」という機能を使い、DATファイルとCTLファイルを作成したいのです。
出力するテーブルには現在1,220,499件データがありまして、「ロード」(DB→ファイル)を実行すると
588,672件までしか出力されないのです。
処理後「処理を完了しました」のメッセージボックスが表示され、その後
「一時テーブルのリソース制限を超えます」とメッセージが表示されます。
これは何か設定の問題なのでしょうか?
分かる方がいらっしゃいましたらご回答お願いします。
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
おそらくBDEの問題だと思われます。
BDE設定にて、
BLOB SIZE
BLOB TO CACHE SIZEを増やしていただくことで
解決する場合がございます。
また、Object Browser 8ではBDEを廃止しておりますので、
全件ロードできると思います。
(Oracleは8以上が前提ですが)
一度トライアル版をダウンロードしていただき、試していただけますでしょうか。
よろしくお願いいたします。
後迫@SIです。
おそらくBDEの問題だと思われます。
BDE設定にて、
BLOB SIZE
BLOB TO CACHE SIZEを増やしていただくことで
解決する場合がございます。
また、Object Browser 8ではBDEを廃止しておりますので、
全件ロードできると思います。
(Oracleは8以上が前提ですが)
一度トライアル版をダウンロードしていただき、試していただけますでしょうか。
よろしくお願いいたします。
返信を投稿
OB
まり
先日はご回答をありがとうございました。
さっそく実行しようと思い、BDEの設定画面を開いてみました。
なのですが、どこにも同じ設定個所があり、どこに設定すればいいのかわかりません。。。
(データベースと環境設定、どちらもありますよねぇ。。。)
そして、BLOBS TO CACHE、BLOB SIZEの値を増やす目安がわかりません。
どれくらいのレコード数だと、この値というのが分かればいいのですが。。。
ヘルプを見たらBLOB SIZEの有効値は32~1000で、
BLOBS TO CACHEの有効値は64~65536となっていますが、最大値にしても何か問題はないのでしょうか?
ちなみに出力対象データ件数は1,220,499件あります。
度々すみませんが、ご回答をお願いします。
さっそく実行しようと思い、BDEの設定画面を開いてみました。
なのですが、どこにも同じ設定個所があり、どこに設定すればいいのかわかりません。。。
(データベースと環境設定、どちらもありますよねぇ。。。)
そして、BLOBS TO CACHE、BLOB SIZEの値を増やす目安がわかりません。
どれくらいのレコード数だと、この値というのが分かればいいのですが。。。
ヘルプを見たらBLOB SIZEの有効値は32~1000で、
BLOBS TO CACHEの有効値は64~65536となっていますが、最大値にしても何か問題はないのでしょうか?
ちなみに出力対象データ件数は1,220,499件あります。
度々すみませんが、ご回答をお願いします。
返信を投稿
OB
ひろ
私も教えて頂きたいです。
そもそも、この数値の単位は何でしょうか?
よろしくお願い致します。
そもそも、この数値の単位は何でしょうか?
よろしくお願い致します。
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
BLOBS TO CACHEサイズは
BDEが使用するバッファのメモリサイズです。
大量のデータを出力するとBLOBバッファエラーになる場合、
この値を増やすことによって解決いたしますが、
値を増やす事で消費するメモリも多くなります。
(通常はデフォルト値でかまいません。)
例えば、値を2倍程度に増やしていただいき、再度試していただけますでしょうか。
(出力件数に変化がない場合は、効果はないと思われます。)
上記操作を行っていただいても解決しない場合は、
誠に申し訳ないのですが、Object BrowserVer.7上の制限として
何卒ご理解頂けますでしょうか。
よろしくお願いいたします。
後迫@SIです。
BLOBS TO CACHEサイズは
BDEが使用するバッファのメモリサイズです。
大量のデータを出力するとBLOBバッファエラーになる場合、
この値を増やすことによって解決いたしますが、
値を増やす事で消費するメモリも多くなります。
(通常はデフォルト値でかまいません。)
例えば、値を2倍程度に増やしていただいき、再度試していただけますでしょうか。
(出力件数に変化がない場合は、効果はないと思われます。)
上記操作を行っていただいても解決しない場合は、
誠に申し訳ないのですが、Object BrowserVer.7上の制限として
何卒ご理解頂けますでしょうか。
よろしくお願いいたします。
返信を投稿
OB
たろう
いつもお世話になっております。
ご質問です。
SIObjectBrowserER、SIObjectBrowserでは、データの
入っているテーブルを変更した場合、
一旦、何処かにデータを退避して、テーブル変更後に
そのデータを変更したテーブルに戻してくれるのですか??
それともデータは破棄されてしまうのですか?
SIObjectBrowserには、オプションの中にデータの退避
という項目があって出来そうなのですが、SIObjectBrowserER
には、その項目がありません。
確か、ERWinではデータを退避させておいて、テーブル
変更後に元のテーブルに戻してくれたと思います。
宜しくお願いいたします。
ご質問です。
SIObjectBrowserER、SIObjectBrowserでは、データの
入っているテーブルを変更した場合、
一旦、何処かにデータを退避して、テーブル変更後に
そのデータを変更したテーブルに戻してくれるのですか??
それともデータは破棄されてしまうのですか?
SIObjectBrowserには、オプションの中にデータの退避
という項目があって出来そうなのですが、SIObjectBrowserER
には、その項目がありません。
確か、ERWinではデータを退避させておいて、テーブル
変更後に元のテーブルに戻してくれたと思います。
宜しくお願いいたします。
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
データ退避テーブルについては、OB8からの機能ですが、
OBERには実装されておりません。
次回バージョンアップで検討させていただきます。
後迫@SIです。
データ退避テーブルについては、OB8からの機能ですが、
OBERには実装されておりません。
次回バージョンアップで検討させていただきます。
返信を投稿
OB
なまけもの
直接レコードを数件か登録したいのですができません。
えんぴつのボタンを押したら『この結果セットには書き込みできません』
とでてしまいます。後プラスからデータの再起動までは選択できない形に
なっています。
すみません。初めて使うもので・・・
えんぴつのボタンを押したら『この結果セットには書き込みできません』
とでてしまいます。後プラスからデータの再起動までは選択できない形に
なっています。
すみません。初めて使うもので・・・
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
Object Browserのバージョン7にて、
過去に同様の問合わせがありました。
このエラーは
WHERE条件をつけたSELECT結果やグループ化したSELECT結果に
書き込みしようとすると発生いたします。
対応策としては、
①もし、データタブでWHERE条件をかけているのであれば、大文字で記述する
②オプションにて「データ編集時の自動COMMITを行わない」のチェックボックスをはずす
があります。試していただけますでしょうか。
後迫@SIです。
Object Browserのバージョン7にて、
過去に同様の問合わせがありました。
このエラーは
WHERE条件をつけたSELECT結果やグループ化したSELECT結果に
書き込みしようとすると発生いたします。
対応策としては、
①もし、データタブでWHERE条件をかけているのであれば、大文字で記述する
②オプションにて「データ編集時の自動COMMITを行わない」のチェックボックスをはずす
があります。試していただけますでしょうか。
返信を投稿
OB
なまけもの
①もし、データタブでWHERE条件をかけているのであれば、大文字で記述する
○WHERE条件はなにも書いていません。
②オプションにて「データ編集時の自動COMMITを行わない」のチェックボックスをはずす
があります。試していただけますでしょうか。
○これもはずしています。
ほかに手はありますでしょうか?
○WHERE条件はなにも書いていません。
②オプションにて「データ編集時の自動COMMITを行わない」のチェックボックスをはずす
があります。試していただけますでしょうか。
○これもはずしています。
ほかに手はありますでしょうか?
返信を投稿
OB
後迫@SI
こんばんは
後迫@SIです。
弊社で検証したいと思いますので、
テーブルのスクリプト(CREATE TABLE)文を送っていただけますでしょうか?
よろしくお願いいたします。
後迫@SIです。
弊社で検証したいと思いますので、
テーブルのスクリプト(CREATE TABLE)文を送っていただけますでしょうか?
よろしくお願いいたします。
返信を投稿
OB
しま
試用させていただいているのですが、
エクスポート時に保存先をドライブ直下を指定するとエラーが出ます。
ちなみに、保存先をc:test.dmpのように指定すると大丈夫でした。
================================以下ログ==================================
Export: Release 8.0.5.0.0 - Production on 木 May 8 16:19:3 2003
(c) Copyright 1998 Oracle Corporation. All rights reserved.
接続: Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.0.0 - Production
EXP-00028: 書き込みのためにC:\\test.dmpをオープンできません。
EXP-00222:
システム・エラー・メッセージ 2
System error message: No such file or directory
エクスポートするファイル: EXPDAT.DMP >
EXP-00030: 読み込み中に予期しないファイルの終わり(eof)が見つかりました。
EXP-00222:
システム・エラー・メッセージ 9
System error message: Bad file descriptor
EXP-00000: エラーが発生したためエクスポートを終了します。
エクスポート時に保存先をドライブ直下を指定するとエラーが出ます。
ちなみに、保存先をc:test.dmpのように指定すると大丈夫でした。
================================以下ログ==================================
Export: Release 8.0.5.0.0 - Production on 木 May 8 16:19:3 2003
(c) Copyright 1998 Oracle Corporation. All rights reserved.
接続: Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.0.0 - Production
EXP-00028: 書き込みのためにC:\\test.dmpをオープンできません。
EXP-00222:
システム・エラー・メッセージ 2
System error message: No such file or directory
エクスポートするファイル: EXPDAT.DMP >
EXP-00030: 読み込み中に予期しないファイルの終わり(eof)が見つかりました。
EXP-00222:
システム・エラー・メッセージ 9
System error message: Bad file descriptor
EXP-00000: エラーが発生したためエクスポートを終了します。
返信を投稿
OB
遊歩人
しま さん、こんにちは。
>EXP-00028: 書き込みのためにC:\\test.dmpをオープンできません。
↑
ここ!
直下を指定した場合の'\'マーク処理の初歩的ミスですね。
>EXP-00028: 書き込みのためにC:\\test.dmpをオープンできません。
↑
ここ!
直下を指定した場合の'\'マーク処理の初歩的ミスですね。
返信を投稿
OB
しま
バグと認識されてなかったらと思って再度書き込みます。
c:\test.dmp のように指定しても、EXP80の中ではC:\\test.dmpのように処理されます。
c:\test.dmp のように指定しても、EXP80の中ではC:\\test.dmpのように処理されます。
返信を投稿
OB
後迫@SI
こんばんは
後迫@SIです。
弊社で試したところ、「C:\TEST.DMP」の設定で
ドライブ直下にエクスポートファイルを出力する事ができました。
大変お手数ですが、
以下の環境情報を添えてサポートまでメールしていただけますでしょうか。
①クライアントのOS
②サーバのOS、Oracleバージョン
③オプションタブを開いている状態のエクスポート設定画面のスクリーンショット
④ドライブ直下以外で設定し、エクスポートした場合はエラーにならないでしょうか?
どうぞよろしくお願いいたします。
後迫@SIです。
弊社で試したところ、「C:\TEST.DMP」の設定で
ドライブ直下にエクスポートファイルを出力する事ができました。
大変お手数ですが、
以下の環境情報を添えてサポートまでメールしていただけますでしょうか。
①クライアントのOS
②サーバのOS、Oracleバージョン
③オプションタブを開いている状態のエクスポート設定画面のスクリーンショット
④ドライブ直下以外で設定し、エクスポートした場合はエラーにならないでしょうか?
どうぞよろしくお願いいたします。
返信を投稿
OB
あおき
デバッグ時に変数の中身を確認したいのですが、
表示エリアが消えて無くなってしまいました。
デバッグウィンドウは3分割されていましたが、
下の2分割が出てきません。
分割サイズの変更もできません。
どうすれば直るでしょうか?
表示エリアが消えて無くなってしまいました。
デバッグウィンドウは3分割されていましたが、
下の2分割が出てきません。
分割サイズの変更もできません。
どうすれば直るでしょうか?
返信を投稿
OB
後迫@SI
こんばんは
後迫@SIです。
レジストリに格納されている
OBのウィンドウ記憶情報が不正になってしまっているようです。
弊社にて検証したいと思いますので、
①ObjectBrowserのバージョン
②クライアントのWindowsバージョン
をサポートまで連絡していただけますでしょうか。
お手数ですが、どうぞよろしくお願いいたします。
後迫@SIです。
レジストリに格納されている
OBのウィンドウ記憶情報が不正になってしまっているようです。
弊社にて検証したいと思いますので、
①ObjectBrowserのバージョン
②クライアントのWindowsバージョン
をサポートまで連絡していただけますでしょうか。
お手数ですが、どうぞよろしくお願いいたします。
返信を投稿
OB
初心者
oberを試用しています。
社員テーブルの所属コード←部門コードの部門コードというリレーションシップを引きたい場合、どのように操作すればできるのでしょうか?
今は、社員テーブルに「部門コード(FK)」というリレーションが作成され、社員テーブルに無駄なカラムも作成されてしまいます(主キーとして)。
社員テーブルの部門コード、部門コードの部門コードのように定義しないと、リレーションが正しく作成されないでしょうか。
お願いします。
社員テーブルの所属コード←部門コードの部門コードというリレーションシップを引きたい場合、どのように操作すればできるのでしょうか?
今は、社員テーブルに「部門コード(FK)」というリレーションが作成され、社員テーブルに無駄なカラムも作成されてしまいます(主キーとして)。
社員テーブルの部門コード、部門コードの部門コードのように定義しないと、リレーションが正しく作成されないでしょうか。
お願いします。
返信を投稿
OBER
後迫@SI
こんにちは
後迫@SIです。
お問い合わせの件ですが
以下の手順となります。
①まず、既に定義されている社員テーブルの所属コードは削除します。
②リレーションをはり、社員テーブルの部門コード、部門コードの部門コードにします。
③社員テーブルの部門コードを所属コードに名称変更します。
また、社員テーブルの所属コードを主キーにしたくない場合は、
非依存型リレーションシップをはっていただけますでしょうか。
よろしくお願いいたします。
後迫@SIです。
お問い合わせの件ですが
以下の手順となります。
①まず、既に定義されている社員テーブルの所属コードは削除します。
②リレーションをはり、社員テーブルの部門コード、部門コードの部門コードにします。
③社員テーブルの部門コードを所属コードに名称変更します。
また、社員テーブルの所属コードを主キーにしたくない場合は、
非依存型リレーションシップをはっていただけますでしょうか。
よろしくお願いいたします。
返信を投稿
OBER
まさ
デバック実行を行った際の変数に入っている値の参照の仕方について教えてください。
PROCEDURE部の中でインスタンスを生成(new関数を使用)し、生成されたインスタンスのメソッドでレコードの更新等を行おうとしています。
メソッドの中までトレースはできるのですが、変数の値が参照できません。
デバック実行画面の下部の値欄に「変数名が正しくないか、現フレームから参照できません」となってしまいます。
メソッド内の変数については参照できないのでしょうか?
PROCEDURE部の中でインスタンスを生成(new関数を使用)し、生成されたインスタンスのメソッドでレコードの更新等を行おうとしています。
メソッドの中までトレースはできるのですが、変数の値が参照できません。
デバック実行画面の下部の値欄に「変数名が正しくないか、現フレームから参照できません」となってしまいます。
メソッド内の変数については参照できないのでしょうか?
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
申し訳ございません。
ひとつ教えていただきたいことがあるのですが、
「PROCEDURE部にnew関数でインスタンスを生成」という事が
どのようなものかよくわかりません。
(PL/SQLでnew関数はないと思うのですが…JAVAではないですよね?)
もし、別プロシージャの呼び出しもしくは
プログラムのネスト(BEGIN~ENDの間にDECLARE~ENDブロックを挿入)という
意味であるなら、変数の参照は可能です。
後迫@SIです。
申し訳ございません。
ひとつ教えていただきたいことがあるのですが、
「PROCEDURE部にnew関数でインスタンスを生成」という事が
どのようなものかよくわかりません。
(PL/SQLでnew関数はないと思うのですが…JAVAではないですよね?)
もし、別プロシージャの呼び出しもしくは
プログラムのネスト(BEGIN~ENDの間にDECLARE~ENDブロックを挿入)という
意味であるなら、変数の参照は可能です。
返信を投稿
OB
まさ
説明不足ですいません。
以下のコードを書いてトレース実行をした場合、
setDataメソッド(言い方があっているか不明ですが)内に飛ぶ(処理が遷移される)のでが、その時の変数の値が表示されません。
Main内の変数の値は表示されます。PROCEDUREから呼び出しているメソッドの内部の変数の値は表示されないのでしょうか?
CREATE OR REPLACE PROCEDURE Main IS
BEGIN
DECLARE
typUpData UpData := new UpData();
m_Code NUMBER(3);
BEGIN
typUpData.setData(123);
m_Code := typUpData.getData(123);
END;
END Main;
/
CREATE OR REPLACE TYPE UpData AS OBJECT(
m_Code NUMBER(3),
MEMBER FUNCTION getData RETURN NUMBER,
MEMBER PROCEDURE setData( p_Code IN NUMBER ) );
/
CREATE OR REPLACE TYPE BODY UpData AS
MEMBER FUNCTION getData RETURN NUMBER IS
BEGIN
RETURN SELF.m_Code;
END getData;
MEMBER PROCEDURE setData( p_Code IN NUMBER ) IS
BEGIN
SELF.m_Code := p_Code;
END setData;
END;
/
以下のコードを書いてトレース実行をした場合、
setDataメソッド(言い方があっているか不明ですが)内に飛ぶ(処理が遷移される)のでが、その時の変数の値が表示されません。
Main内の変数の値は表示されます。PROCEDUREから呼び出しているメソッドの内部の変数の値は表示されないのでしょうか?
CREATE OR REPLACE PROCEDURE Main IS
BEGIN
DECLARE
typUpData UpData := new UpData();
m_Code NUMBER(3);
BEGIN
typUpData.setData(123);
m_Code := typUpData.getData(123);
END;
END Main;
/
CREATE OR REPLACE TYPE UpData AS OBJECT(
m_Code NUMBER(3),
MEMBER FUNCTION getData RETURN NUMBER,
MEMBER PROCEDURE setData( p_Code IN NUMBER ) );
/
CREATE OR REPLACE TYPE BODY UpData AS
MEMBER FUNCTION getData RETURN NUMBER IS
BEGIN
RETURN SELF.m_Code;
END getData;
MEMBER PROCEDURE setData( p_Code IN NUMBER ) IS
BEGIN
SELF.m_Code := p_Code;
END setData;
END;
/
返信を投稿
OB
遊歩人
まさ さん、こんにちは。
OB8は、使用したことがないのでなんともいえませんが、
OB7では、ネストされている先のデバッグは、できなか
ったと思います。
この辺は、海外のオラクルツールのPL/SQLデバッグ
機能はすごい!です。
OB8は、使用したことがないのでなんともいえませんが、
OB7では、ネストされている先のデバッグは、できなか
ったと思います。
この辺は、海外のオラクルツールのPL/SQLデバッグ
機能はすごい!です。
返信を投稿
OB
後迫@SI
こんばんは
後迫@SIです。
こちらこそ勉強不足で誠に申し訳ございませんでした。
検証したところ、
TYPEオブジェクトのFUNCTIONの変数参照は不可能でした。
デバッグ実行につきましては、DBMS_DEBUGパッケージを使用しています。
DBMS_DEBUGパッケージの仕様として不可能かもしれませんが、
もし修正できるのであれば、次回バージョンアップで検討したいと思います。
どうぞよろしくお願いいたします。
後迫@SIです。
こちらこそ勉強不足で誠に申し訳ございませんでした。
検証したところ、
TYPEオブジェクトのFUNCTIONの変数参照は不可能でした。
デバッグ実行につきましては、DBMS_DEBUGパッケージを使用しています。
DBMS_DEBUGパッケージの仕様として不可能かもしれませんが、
もし修正できるのであれば、次回バージョンアップで検討したいと思います。
どうぞよろしくお願いいたします。
返信を投稿
OB
yokoyama
function func1(a,b,c) の中で function func2(x, y) を呼び出しているときに
func2の中までトレースはできるのですが、変数の値が参照できません。
実行画面の下部の値欄に「変数名が正しくないか、現フレームから参照できません」
となってしまいます。
こういう場合もだめなんでしょうか?
func2の中までトレースはできるのですが、変数の値が参照できません。
実行画面の下部の値欄に「変数名が正しくないか、現フレームから参照できません」
となってしまいます。
こういう場合もだめなんでしょうか?
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
お問い合わせいただいた件ですが、
呼出し先のファンクションにある変数の参照はできません。
呼び出し元のみになります。
デバッグ実行につきましては、DBMS_DEBUGパッケージを使用しています。
DBMS_DEBUGパッケージの仕様として不可能かもしれませんが、
もし修正できるのであれば、次回バージョンアップで検討したいと思います。
よろしくお願いいたします。
後迫@SIです。
お問い合わせいただいた件ですが、
呼出し先のファンクションにある変数の参照はできません。
呼び出し元のみになります。
デバッグ実行につきましては、DBMS_DEBUGパッケージを使用しています。
DBMS_DEBUGパッケージの仕様として不可能かもしれませんが、
もし修正できるのであれば、次回バージョンアップで検討したいと思います。
よろしくお願いいたします。
返信を投稿
OB
神楽
投稿No.1043
スクリプト実行について
と同様の現象が起こっています。
スクリプト実行の右側のウィンドウでファイルをダブルクリックしたところタスクは発生しませんがプロセスが発生しロックしているような状態でした。
当方、win200を使用しており、.sqlをダブルクリックするとノートパットではないテキストエディターを使用しております。
ためしに.sqlの設定をノートパットに変更してみたところプロセスは実行されましたがロックはかかりませんでした。(ノートパットはそういうものですが、、)
以上、蛇足かもしれませんがご参考になればと思います。
スクリプト実行について
と同様の現象が起こっています。
スクリプト実行の右側のウィンドウでファイルをダブルクリックしたところタスクは発生しませんがプロセスが発生しロックしているような状態でした。
当方、win200を使用しており、.sqlをダブルクリックするとノートパットではないテキストエディターを使用しております。
ためしに.sqlの設定をノートパットに変更してみたところプロセスは実行されましたがロックはかかりませんでした。(ノートパットはそういうものですが、、)
以上、蛇足かもしれませんがご参考になればと思います。
返信を投稿
OB
後迫@SI
こんにちは
後迫@SIです。
追加情報をいただきありがとうございます。
次回バージョンアップで修正いたしますので、
よろしくお願いいたします。
後迫@SIです。
追加情報をいただきありがとうございます。
次回バージョンアップで修正いたしますので、
よろしくお願いいたします。
返信を投稿
OB