■SI Object Browser 掲示板


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

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

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

よくある質問(FAQ)

検索オプション 矢印

~
リセット
新規投稿
OBサポート様

ご回答いただきありがとうございます。
仕様でローカル一時テーブルは使用できないとのこと承知致しました。
グローバル一時テーブルで代用できないか検討してみます。

どうぞよろしくお願い致します。
スクリプト出力をするとオブジェクト定義とは異なる内容で定義情報が出力されます。
■異なる点
①サイズ表記が異なる
→スクリプト出力した定義:STORAGE(INITIAL 2048M~
 実際の定義      :STORAGE(INITIAL 2G~
②勝手に半角スペースが付与される
③シーケンス値が異なる
→スクリプト出力した定義:START WITH 4041
 実際の定義      :START WITH 4061

これらはSI ObjectBrowserによる仕様でしょうか?
それとも何かしらの設定が必要なのでしょうか?
OBサポートです。

いただいたSQLにつきましては
「SELECT 'TEST' AS TEST INTO #TEST」と「SELECT * #TEST」の2つのSQLが
改行で区切られたSQLとなっておりますが
現状、Object Browser上では複数SQLの実行時は区切り文字が必要となるため
正常に実行できないかたちとなっております。
(区切り文字がない場合、1つの目のSELET INTO分のみ実行される動作となります。)

つきましては2つのSQLを「go」挟むことでそれぞれのSQLを実行可能ですが、
内部では別プロセスで実行される関係で、いただいたSQLではエラーとなってしまいます。
(1つ目のSQLでローカル一時テーブルの作成はできますが、
2つ目のSQLが別プロセスとなる関係で、ローカル一時テーブルの参照ができず、
エラーが発生してしまいます。)

設定などで本動作を変更する方法もございませんが、
現状は「go」で挟むかつ、「#TEST」の部分を「##TEST」に変更の上
グローバル一時テーブルにしていただくことで実行可能となっております。

SELECT 'TEST' AS TEST
INTO ##TEST
go
SELECT *
FROM ##TEST

つきましては本方法で代用できますか、ご確認いただいてもよろしいでしょうか。
お手数をおかけいたしますが、よろしくお願いいたします。
SI Object Browser for SQL Server 22(x64)

SELECT 'TEST' AS TEST
INTO #TEST
SELECT *
FROM #TEST
→結果「SQLを実行しました。(対象:1レコード)」

SQL実行機能で、一時テーブルを作成してそのままデータを抽出したいと考えています。
上記のSQLで実行した結果、データが抽出されず、ポップアップに上記の結果が表示されて終了してしまいます。
SQL実行内で、複数の処理が区切られてしまい一連の処理として実行されていないため、
作成された一時テーブルがすぐに削除されてしまい、結果として2つ目のSELECTが実行できていないと思っています。
設定などで一連の処理として実行する方法はないでしょうか?
※他のツールの都合で一時テーブルを使うしかない状況です。
※他のツールでは実行でき、データの抽出が確認できました。
こんにちは。OBサポートです。

ご質問の件につきましてですが、インデックスアドバイザのテスト機能では
実際にインデックスを作成、コスト計算の上、作成したインデックスを削除する
仕組みとなっております。

ご参考になれば幸いです。
どうぞ、よろしくお願いいたします。
お世話になります。
現在、Oracle19cを利用中で、Object Browserのバージョンは21.2.5.0になります。
インデックスアドバイザのテストで実際にコストの変化を検証できると思いますが、これは実際Oracleに対して、INDEX作成、削除を実施しているのでしょうか。

ある性能問題が発生しており、減少(SQL実行遅延、ハング)発生時に、
該当のSQLをインデックスアドバイザで解析、適当なINDEXをテスト作成すると、
ハング状態が解消される状況です。
実際にはこの処理を行ったときに、Oracleに対してどのような処理をしているのか知りたく、ご教示いただけますと幸いです。
もしそれがわかれば、ハングの原因究明にもつながるかもしれず、何卒よろしくお願い申し上げます。
OBサポートです。

ご質問の件につきましてそれぞれ以下に回答させていただきます。

>・SQL出力時のスクリプトにおいて、エンティティのCREATE TABLE文の順序はどのような設定になっているか

 既定ではエンティティ名(論理名)の昇順となります。
 (フォワードエンジニアリング画面のエンティティ一覧画面の表示順序でCREATE TABLE文が生成される形となっております。)

>・SQLのCREATE TABLE文の順序の設定は可能か、または(意図的かにかかわらず)順序に影響を与える設定はあるか

 上記フォワードエンジニアリング画面にて、
 「テーブル名」列をクリックするの上テーブル名(物理名)の順に並び替えの上、
 SQL出力することでテーブル名順に出力が可能となっております。

>・SQL出力時に、当該エンティティを含まずとも、外部キー参照の設定は含むことはできるか

 大変申し訳ありませんが 外部キーのSQL出力については
 当該エンティティ(親エンティティ、子エンティティ両方)を対象に含めた場合のみ出力される動作となっております。

上記動作につきましてご確認いただけますと幸いです。
何卒、よろしくお願い申し上げます。
【前提】
現在利用しているDB環境では、異なるプリフィックスを持つエンティティ群が2つある(e.g. a_〇〇 と b_〇〇 の2種類存在する)。このER図をSQL出力して利用している。
このSQLについて、あるときは a_〇〇 のみを利用したい場合、逆に b_〇〇 のみを利用したい場合がある。ただし、a_〇〇 のエンティティから b_〇〇 に対する外部キー参照、またその逆も設定しているため、SQL出力時にはどちらのエンティティも含める必要がある。
なので、目的を達成するために、一旦SQLすべてSQL出力し、手動で片方のエンティティ群の設定を消すという手順としたい。この時、アルファベット順で並んでいれば、まとめて範囲選択で削除できそうなため楽である。しかし、SQLを見る限り、各エンティティにおけるCREATE TABLE文の順序が、エンティティ名のアルファベット順になっておらず、検索しながら削除する必要がありそうに見える。
(過去にお試しで使っていた、リバースエンジニアリングしただけのER図ではアルファベット順で出力された。しかし、サブモデル分割や統合など色々な編集を経たER図では順序のルールがわからない)

【質問】
・SQL出力時のスクリプトにおいて、エンティティのCREATE TABLE文の順序はどのような設定になっているか
・SQLのCREATE TABLE文の順序の設定は可能か、または(意図的かにかかわらず)順序に影響を与える設定はあるか
・SQL出力時に、当該エンティティを含まずとも、外部キー参照の設定は含むことはできるか

【環境】
・DB: PostgreSQL 14
・OBER: SI Object Browser ER 24(64bit)
こんにちは。OBサポートです。

ご質問の文字化けにつきまして、環境変数NLS_LANGを設定しても
改善しないとのことですが、他に考えられる事項としてSI Object Browser
ご利用端末のシステムロケールが日本以外になっている可能性が考えられます。

SI Object Browserは日本語Windows OS環境での利用を想定しておりますため、
以下手順にて解決するかどうか、ご確認いただけますでしょうか。

設定例)
コントロールパネル > 時計と地域 > 地域 > 「管理」タブ > 「システムロケールの変更」より、
「現在のシステムロケール」を「日本語(日本)」に設定する

改善しない場合、お手数ですが以下の情報を添えて
oob.surpport@sint.co.jp あてにご連絡いただけますでしょうか。

・お持ちの製品のシリアルNO
・SI Object Browserのヘルプメニュー>サポート情報の記載内容
 (文字化けの発生するDBに接続した状態で記載内容をコピーorファイル出力ください)

何卒、よろしくお願い申し上げます。
Oracle12c、19cにWindows11のクライアントPCから接続していますが、Viewのソースコードやテーブルの初期値設定などが文字化けをします。
・テーブル一覧、View一覧などの一覧画面では文字化けしていません。
・ストアドプロシジャーのソースも文字化けしていません。
・Viewのソースを開くと文字化けしますが、テーブル名・項目名の日本語は正しく(文字化けせず)表示されます。
・テーブルの初期値設定が文字化けしています。
DBの文字コードは、NLS_CHARACTERSET=AL32UTF8
Clientツールは、instantclient_23_8(64bit版)を利用
クライアントのOSは、Windows11
ユーザ環境変数に、NLS_LANG=JAPANESE_JAPAN.AL32UTF8を定義

A5M2などのツールでは正しく表示されます。
何が原因でしょうか。