■SI Object Browser 掲示板


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

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

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

よくある質問(FAQ)

検索オプション 矢印

~
リセット
新規投稿
user_tables の全テーブルのデータ件数が取得したくて、
以下のSQL文をSIOB-SQLで流しました。
SQLの結果表示までは、30秒で戻ってくるのですが、
結果エリアの「クリップボードへ出力」を実行すると、
15分以上戻ってきません。結局、書き込みエラー何とかになって、
制御は画面に戻ってきているようですが、カーソルがSQLのままです。

SQL文によっては、クリップボード出力が行えない場合があるんでしょうか??
回避策はありますか??

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
--SQL文の説明。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
--1. user_tables からテーブル一覧を取得
  (SELECT table_name FROM user_tables)
--2. 取得したテーブル名を条件に加えて各テーブルのカウントを取得
  ('SELECT COUNT(*) AS C FROM '||table_name)
--3. DBMS_XMLGENパッケージ getxml 関数が 2の結果を XML 形式に変換
--4. SQL関数extractValue (x, 'path') を使って、3で作成した
   XML DB 内の '/ROWSET/ROW/C' にセットされたカウント数を取得
--5. 4を TO_NUMBER で明示的に数値に変換。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SELECT
TABLE_NAME
,TO_NUMBER(
EXTRACTVALUE(
XMLTYPE(
DBMS_XMLGEN.GETXML('SELECT COUNT(*) AS C FROM '||TABLE_NAME)
),
'/ROWSET/ROW/C'
)
) AS COUNT
,SYSDATE
FROM USER_TABLES
;
こんにちは。
OBサポートです。

クリップボードへの出力についてですが、Object Browserのグリッド上に
そのままデータが表示されるもの(文字列/数値/日付型)につきましては
特に制限はございません。

同一のSQLを弊社環境にて実行いたしましたが、結果表示およびクリップボード出力も
問題なく行うことができ、再現していない状況です。

しかしながら、SQLの実行に30秒程度かかること、クリップボードへの書込に
失敗するとのことからリソース不足が原因である可能性がございます。

お手数ですが、一度 「WHERE TABLE_NAME LIKE 'A%'」等、出力範囲を
絞っていただいた上、改善するかどうかご確認いただけますでしょうか。

何卒、よろしくお願いいたします。
こんにちは。
OB11で特定のPL/SQLの実行しようすると、下記エラーが発生します。
「モジュール'ob11.exe'のアドレス005F1329でアドレス00000030に対する読み込み違反が起きました。」

このエラーが発生するPL/SQLでは
type ************ is table of varchar(100)
のようなNESTED TABLEを使用しているので、
これが原因の一端なのではないかと思います。

解決方法などがありましたらご教授願います。
こんにちは。
OBサポートです。

お問い合わせいただきました「読み込み違反」エラーの件につきましてですが
開発側に確認をとりましたところ、Ver.11でVARRAY型の引数に対応した際の
不具合であるとの回答がございました。

過去バージョン(Ver.10以前)におきましては、該当の
エラー自体は発生いたしませんが、最新バージョンを含めまして
ネスト表を引数に持つPL/SQLの実行に未対応となっております。

本件につきましては、改善要望として承り開発側に伝えさせていただきます。

ご不便をおかけし申し訳ございませんが、
何卒よろしくお願いいたします。
いつも便利に使わせていただいております。

さて表題の件、SELECT文にて、187,227行の結果を得て、
Excelに出力しようとしたところ、
「Range クラスの PasteSpecial メソッドが失敗しました。.」
と表示されます。
止まる行数は一定ではなく、一万件超えたところで出る場合もあれば、
7万件近くで出る時もあります。
出力時にDBの読み直しはしていません。
SELECT文を実行しなおしても、結果は同様でした。
また、クリップボードに出力では、問題なく出力できます。
Excelは2010を利用しております。
OB11です。

以上、改善点がございましたら、ご指摘くださいませ。
よろしくお願いいたします。
追加情報です。

本日、親文書と同じ作業を実施したところ、
エラーメッセージが変化しましたので、
追記いたします。

エラー発生タイミング
66379/187227
エラーメッセージ
「OLE エラー 800A03EC.」

以上です。
どうぞよろしくお願いいたします。
こんにちは。
OBサポートです。

ご質問の件につきまして、これまでに同様の報告をいただいておりますが
弊社環境にて再現させることができず、根本的な原因が不明の状況でございます。

しかしながら、過去のお問い合わせを確認したところ
解決した事例がございましたので以下に記載いたします。

1)DBサーバがリモートサーバとなっており、ネットワーク負荷が高い場合や
 他アプリケーションが動作しており、メモリが不足している場合

 ⇒不要なアプリケーションが動作していないかなど、端末のリソース使用状況を
  一度ご確認いただけますでしょうか。

2)Excel出力の権限が不足している場合

 ⇒以下の設定を行うことで改善するとの報告をいただいておりますので、
   お試しいただいけますでしょうか。

 1.「コントロールパネル」⇒「管理ツール」⇒「コンポーネントサービス」を
   起動します。
 2.左側のツリーより「コンポーネントサービス」⇒「コンピュータ」⇒
   「マイコンピュータ」⇒「DCOMの構成」を開きます。
 3.「Microsoft Excelアプリケーション」を右クリックし、「プロパティ」を選択します。
 4.「セキュリティ」タブの「構成のアクセス許可」内にある「編集」ボタンを開きます。
 5.権限の編集画面が表示されますので、ログインユーザに対して、
   フルコントロールを追加します。(読取権限だけでもOK)

  ※リモートで使用している場合は、同じ画面の
   「起動とアクティブ化のアクセス許可」で、
   リモートが許可されているかも確認していただけますでしょうか。

3)リモートデスクトップ接続にて、接続先の端末に
 インストールされているObject BrowserでExcel出力を行った場合

 ⇒リモートデスクトップ接続にて、接続先の端末にインストールされている
  Object Browserを使用・Excel出力を行った場合、リモートデスクトップ接続の
  オプションによっては該当のエラーが発生する場合があるとの
  報告をいただいております。

 以下のオプションを設定していただき、改善するかどうかご確認いただけますでしょうか。

 1.スタートメニュー等より、リモートデスクトップ接続のダイアログを起動します。
 2.オプションを展開し、「ローカルリソース」タブの「ローカルリソースとデバイス」
   にある「クリップボード」のチェックを外します。

お手数をおかけしますが、何卒よろしくお願いいたします。
早々のご返信、ありがとうございます。
以下にインラインで記載いたしますが、大まかに申し上げますと、
下記の条件はクリアしておりました。

テーブルを全検索するだけの単純なSQL文でも試してみましたが、
どうも、65000行あたりを超えて出力しようとすると、
件のOLEエラーが出力される模様です。
また、異なる端末でも試してみましたが、結果はほぼ同様でした。
Excel自体はバージョンアップされて、100万行以上扱えるようになりましたが、
OLEがExcel2003の仕様から変わっていないのかもしれませんね。

今回は、クリップボードからのCSV出力にて対応することにしますので、
ひとまずクローズといたします。
引き続き、原因究明の程、よろしくお願いします。

-----------------
>1)DBサーバがリモートサーバとなっており、ネットワーク負荷が高い場合や
> 他アプリケーションが動作しており、メモリが不足している場合
>
> ⇒不要なアプリケーションが動作していないかなど、端末のリソース使用状況を
>  一度ご確認いただけますでしょうか。

特に問題のある状態ではありませんでした。

>2)Excel出力の権限が不足している場合
>
> ⇒以下の設定を行うことで改善するとの報告をいただいておりますので、
>   お試しいただいけますでしょうか。
>
> 1.「コントロールパネル」⇒「管理ツール」⇒「コンポーネントサービス」を
>   起動します。
> 2.左側のツリーより「コンポーネントサービス」⇒「コンピュータ」⇒
>   「マイコンピュータ」⇒「DCOMの構成」を開きます。
> 3.「Microsoft Excelアプリケーション」を右クリックし、「プロパティ」を選択します。
> 4.「セキュリティ」タブの「構成のアクセス許可」内にある「編集」ボタンを開きます。
> 5.権限の編集画面が表示されますので、ログインユーザに対して、
>   フルコントロールを追加します。(読取権限だけでもOK)
>
>  ※リモートで使用している場合は、同じ画面の
>   「起動とアクティブ化のアクセス許可」で、
>   リモートが許可されているかも確認していただけますでしょうか。

適切に権限設定されておりました。

>3)リモートデスクトップ接続にて、接続先の端末に
> インストールされているObject BrowserでExcel出力を行った場合

リモートデスクトップ接続は使用しておりません。
-----------------
横槍すみません。
これって出力先が深い階層にあってパスが長くなったり
パスに全角の()のような禁則文字が含まれたりすると
発生するような気がします。

今更でしかも不確定な意見をすみません。
>通りすがりさん

OBサポートです。
情報のご提供誠にありがとうございます。

当初ご投稿いただいていたエラーとは異なる内容でしたが、
ご指摘の通り、出力先のパスが長い場合や禁則文字が
含まれている場合は、パス不正でエラーとなります。

ご提供いただいた内容でエラーが発生した場合は、
出力先を変更するなどでご対応いただければと存じます。

貴重なご意見ありがとうございました。
何卒よろしくお願いいたします。
実行計画取得の際に「ORA-00942: 表またはビューが存在しません。」が発生し、
結果を参照できません。

SI Object Browser for Oracle 11.1.0.0
接続先DB:Oracle 11.2.0 (Red Hat Enterprise Linux Server release 6.2 (Santiago))

実行ユーザーにて「select * from plan_table」は0行の結果が表示されます。
ツール-オプション-詳細設定-実行計画用テーブル名は「PLAN_TABLE」としています。
PUBLIC SYNONYM plan_table の参照先 SYS.PLAN_TABLE$ では、
PUBLIC に全権限が付与されています。
(grant all on plan_table$ to public を実行済み)

原因、対処策が不明です。ご教示下さい。
こんにちは。
OBサポートです。

実行計画の取得時にORA-00942エラーが発生するとのことですが、
実行計画取得対象となるSQLのFROM句に存在しないオブジェクト名が記載されている場合や
オブジェクト名が小文字で定義されており、二重引用符で囲まれていないケースで
発生いたします。

恐れ入りますが、お間違いがないか一度ご確認いただけますでしょうか。
何卒、よろしくお願いいたします。
先程、下記を記入しましたが誤認でした。
Oracle 10.2 の別のDBでは問題なく実行計画が取得できますが、
Oracle 11.2 では、状況は変わっていません。

(1)SQLの実行→問題なし。
(2)select * from plan_table→問題なし。レコードの追加・削除・更新も可能。
(3)(1)のSQLの実行計画取得→ORA-00942: 表またはビューが存在しません。

上記のような状況です。何が問題なのでしょうか。

-------------------------------------------------
ご回答ありがとうございました。
再実行したところ、エラーになりませんでした。

先程エラーになったときは、SQLの結果は表示されるのに
実行計画の取得ではエラーになっていました。
ご指摘頂いたようなFROM句の誤りは考え辛いのですが…。

実際、他のSQLで問題が生じないことを確認した後、
エラーになったSQLでも試したところ、正常に結果が取得できました。

SYS.PLAN_TABLE$, PUBLIC SYNONYM PLAN_TABLE の存在を確認し、
しばらく時間が経過しただけで問題が発生しなくなるという、
不思議な結果になりました。

問題は解消しましたので対策は不要ですが、
今後のためにも原因については考察して頂ければと思います。
こんにちは。
OBサポートです。

ORA-00942エラーが解決しないとのことですが、Oracle 10gでは問題がなく
Oracle 11gで発生するとのことよりユーザーの権限に問題があるものと推測されます。

実行計画の取得におきましてはPLAN_TABLEだけでなく、動的パフォーマンスビュー等への
アクセスも発生いたしますので、権限の不足によるエラーである可能性がございます。

SELECT_CATALOG_ROLE ロール あるいは SELECT ANY DICTIONARY システム権限が
ユーザーに付与されているかご確認いただけますでしょうか。

何卒、よろしくお願いいたします。
OB Ver11 を使用しています。
オラクルは、7,8,8i,10g と複数のVerが混在しています。 今回新たに11gが加わります。

クライアントには、8i,10g をインストールしているのですが、OSのPATHの関係で、8iのクライアントが動作しており、 7,8,8i,10g すべてのVerに一応接続できます。 ※7では一部不具合あり。
11gには、8iクライアントでは接続できないようです。

そこで10gクライアントに切り替えて接続したいのですが、OBからクライアントを指定する方法がわかしません。 方法はございますでしょうか?
※OSのPATHを変更する事で接続できることはわかっています。

以上、よろしくお願いいたします。
こんにちは。
OBサポートです。

Oracle Clientを併用したいとの件につきましてですが、オプション画面の設定タブにて
Object Browserが参照するORACLE_HOMEを指定することが可能となっております。
(設定を有効にするには、Object Browserを一度終了する必要があります。)

一度お試しいただけますでしょうか。
何卒、よろしくお願いいたします。
サポート様

早速の対応ありがとうございます。

オプションの設定タブの、オラクルホームを指定することで、11gに接続できました。
ありがとうございます。

理想を言えば、「接続リスト」毎にホームを指定できればいいのですがOSのPATHを変えるよりははるかに楽になりました。


以上です。
こんにちは。
OBサポートです。

貴重なご意見、誠にありがとうございます。

現状ではログイン画面の表示時、「データベース」欄に対するTNS名の取得を
行っておりますため、接続先リストごとのORACLE_HOME指定は困難となっております。
(ログイン画面が表示されるまでにObject BrowserがORACLE_HOMEを認識する必要があります)

本件につきましては開発側に伝え、代案がないか検討させていただきますが
良い案をお持ちでしたらお知らせいただけますと幸いです。

何卒、よろしくお願いいたします。
ご教示お願いいたします。
[接続先リストの取込]が実行できず困っております。

OB10からOB11へバージョンアップしました。

先にOB10をアンインストールし、次にOB11をインストールしました。

早速、Object Browser11 を実行し、
ログオンダイアログ-接続先リスト-[接続先リストの取込]ボタンを押下しましたところ、
下記、エラーメッセージが表示され取込みが出来ません。
”取込可能な接続情報が見つかりません。”

どのように対処するとよろしいでしょうか?
よろしくお願いいたします。
--
対象製品名:SI Object Browser for Oracle Ver.11.1.0.0
こんにちは。
OBサポートです。

接続先リストの取込機能につきましては、セキュリティの都合上
「インストールされている他バージョン」の接続情報を表示する動作と
させていただいております。

お手数ですが、Ver.10を一度インストールしていただき、
ご確認いただけますでしょうか。(ライセンス登録は不要です)

何卒、よろしくお願いいたします。
SI Object Browser for Oracle Version 11.1.0.0を利用しています。

オブジェクトリストからTABLEを選択し、
「定義情報を開く」を行っても、定義を開くことが出来ません。
「ソースを開く」、「データを開く」で開いても同様の結果です。
特定のテーブルということではなく、全てのテーブルで起きます。
また、VIEWの定義は開くことが可能で、
11g,10gなど他のOracleデータベースのテーブルも参照可能です。



こちらの環境は以下の通りです。


SELECT *
FROM V$VERSION;
-----------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
PL/SQL Release 9.2.0.5.0 - Production
CORE 9.2.0.6.0 Production
TNS for 32-bit Windows: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - Production
こんにちは。
OBサポートです。

お問い合わせいただいた件につきましてですが、
Oracle Database 9iにて9.2.0.3以降のパッチを適用しており、かつ
ディクショナリの更新を行っていない場合に発生するとの報告をいただいております。

お心当たりがあるようでしたら、お手数ですが
以下の手順をお試しの上、改善するかご確認いただけますでしょうか。
================================================================
1. SQL*Plus、またはObject BrowserのSQL実行画面から
 SELECT COMPRESSION FROM USER_TABLES;
 を発行し、エラーとなることを確認します。

2. インスタンスが自動起動になっている場合は、一旦shutdownし
 SQL*Plus から"SYSDBA"権限をもつユーザでログインします。

3. 下記のスクリプト/コマンドを実行します。
 startup migrate
 @rdbms/admin/catpatch.sql
================================================================

上記に該当しない、あるいは改善しないとの場合
技術調査が必要であるか、環境依存による問題と思われますので、
掲示板上での回答は致しかねます。

・Object Browserの詳細バージョン(ヘルプ ⇒ バージョン情報より確認可能です)
・すべてのテーブルにおいて同一の現象が発生するかどうか
・特定のテーブルでのみ発生する場合、該当テーブルのCREATE TABLE文
・製品シリアルNO、
・保守ダイジェストキー
を記載の上、oob.support@sint.co.jpまでご連絡ください。
保守加入の確認が取れ次第、対応させていただきます。

なお、保守加入が確認できない場合、対応いたしかねる点、
ご了承くださいますようお願いいたします。
ご返答ありがとうございます。

ご指摘の通り、catpatch.sqlが実行されていなかったようでした。
実行後、テーブルを開けることを確認済みです。

すばやい対応大変感謝しております。

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


[OBサポート]
>こんにちは。
>OBサポートです。
>
>お問い合わせいただいた件につきましてですが、
>Oracle Database 9iにて9.2.0.3以降のパッチを適用しており、かつ
>ディクショナリの更新を行っていない場合に発生するとの報告をいただいております。
>
>お心当たりがあるようでしたら、お手数ですが
>以下の手順をお試しの上、改善するかご確認いただけますでしょうか。
>================================================================
>1. SQL*Plus、またはObject BrowserのSQL実行画面から
> SELECT COMPRESSION FROM USER_TABLES;
> を発行し、エラーとなることを確認します。
>
>2. インスタンスが自動起動になっている場合は、一旦shutdownし
> SQL*Plus から"SYSDBA"権限をもつユーザでログインします。
>
>3. 下記のスクリプト/コマンドを実行します。
> startup migrate
> @rdbms/admin/catpatch.sql
>================================================================
>
>上記に該当しない、あるいは改善しないとの場合
>技術調査が必要であるか、環境依存による問題と思われますので、
>掲示板上での回答は致しかねます。
>
>・Object Browserの詳細バージョン(ヘルプ ⇒ バージョン情報より確認可能です)
>・すべてのテーブルにおいて同一の現象が発生するかどうか
>・特定のテーブルでのみ発生する場合、該当テーブルのCREATE TABLE文
>・製品シリアルNO、
>・保守ダイジェストキー
>を記載の上、oob.support@sint.co.jpまでご連絡ください。
>保守加入の確認が取れ次第、対応させていただきます。
>
>なお、保守加入が確認できない場合、対応いたしかねる点、
>ご了承くださいますようお願いいたします。
こんにちは。
「SI Object Browser 9」(以下OB)のSNAPSHOTのコンパイルについて
気になることがありましたので質問をさせて頂きます。

OBにてOracleDB(Oracle9i)上のSNAPSHOTの参照を行っております。
OB上のSNAPSHOTの情報について以下の5項目を確認でき、
コンパイルすることも可能となっております。

 ・SNAPSHOTの情報
  1 定義情報
  2 ソース
  3 データ
  4 領域情報
  5 権限

SNAPSHOTのコンパイルについてOracleサポートに問い合わせを行ったところ
SNAPSHOTの定義を変更する場合は、CREATE文にて再作成を行う必要があるという回答を
頂きました。実際SQLPLUSで確認したところSNAPSHOTのコンパイル(ALTERコマンド)は
通りませんでした。

OB上のコンパイルの動作についてどういう仕組みで動いているのでしょうか。
一度DROP(削除)を行った後で、同名のSNAPSHOT名でCREATEをかけているのでしょうか。

以上、宜しくお願い致します。
こんにちは。
OBサポートです。

お問い合わせいただいたSNAPSHOT変更時の動作につきましてですが、
変更の内容によって 「DROP SNAPSHOT ⇒ CREATE SNAPSHOT」とするか
「ALTER SNAPSHOT」とするかが異なります。

例としまして、「ソース」タブのCREATE文を直接変更された場合は
どの内容が変更されたかを特定するのが困難であるため DROP⇒CREATE を実行、
「定義情報」タブで内容を変更された場合は、その項目を変更するのに
再作成が必要かどうかを内部判断したうえ、ALTER または DROP⇒CREATE を実行する
仕組みとなっております。

「ツール」メニュー ⇒ オプション を選択いただき、定義情報タブの
「定義変更時に実行されるDDL文を表示する」をONにしていただきますと
変更のためのSQLを事前表示する動作となりますので、一度お試しいただけますでしょうか。

何卒、よろしくお願いいたします。
早速のご回答ありがとうございます!!

>>例としまして、「ソース」タブのCREATE文を直接変更された場合は
>>どの内容が変更されたかを特定するのが困難であるため DROP⇒CREATE を実行、
>>「定義情報」タブで内容を変更された場合は、その項目を変更するのに
>>再作成が必要かどうかを内部判断したうえ、ALTER または DROP⇒CREATE を実行する
>>仕組みとなっております。
→了解しました。

>>「ツール」メニュー ⇒ オプション を選択いただき、定義情報タブの
>>「定義変更時に実行されるDDL文を表示する」をONにしていただきますと
>>変更のためのSQLを事前表示する動作となりますので、一度お試しいただけますでしょ>>うか。
→確認しました。この設定使わせて頂きます。

もう一点気になる事があります。
SNAPHSOTのコンパイル(DROP⇒CREATE)時、
DROPに成功してCREATEに失敗するパターンを検証しました。
結果はコンパイルエラーが発生しました。
しかし、SNAPSHOTはDROPされておりました。

コンパイルに失敗(CREATEに失敗)した場合、
DROP前の状態に戻らないと思うのですがこれは仕様でしょうか。

以上、宜しくお願い致します。



こんにちは。
OBサポートです。

>コンパイルに失敗(CREATEに失敗)した場合、
>DROP前の状態に戻らないと思うのですがこれは仕様でしょうか。

はい、SNAPSHOTに限らず、あるオブジェクトの変更処理において
DROP⇒CREATEが必要であり、かつCREATEに失敗した場合は削除される動作となります。

オプション画面、定義情報タブの「変更前のソースを保存する」を
ご利用いただきますと、CREATE文をファイルに出力する動作となりますので
前回ご案内しました、「DDL文表示」とあわせてご検討いただければと存じます。

何卒よろしくお願いいたします。
ご回答ありがとうございます。

>>はい、SNAPSHOTに限らず、あるオブジェクトの変更処理において
>>DROP⇒CREATEが必要であり、かつCREATEに失敗した場合は削除される動作となります。
>>オプション画面、定義情報タブの「変更前のソースを保存する」を
>>ご利用いただきますと、CREATE文をファイルに出力する動作となりますので
>>前回ご案内しました、「DDL文表示」とあわせてご検討いただければと存じます。
→了解しました。

調査ありがとうございました。
大変勉強になりました。