■SI Object Browser 掲示板


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

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

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

よくある質問(FAQ)

検索オプション 矢印

~
リセット
新規投稿
お世話になります。
SQL初心者です。以下のSelect文を作成しましたが、わからないことがありますので、ご伝授ください。

SELECT *
FROM  成績一覧表
WHERE  年月日 = '20100131'

【質問】
上記のSELECT文の実行については、とくに問題なく結果が正しく出ています。
毎回、実行するとき、必ず年月日の入力をしなければならない。
ここでは、SQLを実行すると、月日だけ入力すれば、抽出結果を出せるように
したいです。
たとえば、上記の文を実行すると、0131だけ入力して、
抽出結果が表示されます。
可能でしょうか?
よろしくお願いします。
こんにちは
後迫@SIです。

お問い合わせいただきました件についてですが、
日付のみを指定して検索する場合は、以下のようなSQLを作成することで
可能ですので、お試しいただけますでしょうか。

-----------------------------------------------------
SELECT *
 FROM 成績一覧表
WHERE TO_CHAR(年月日, 'YYYY') = TO_CHAR(SYSDATE, 'YYYY')
AND TO_CHAR(年月日, 'MMDD') = '0131'
---------------------------------------------------------

※上記SQLでは今年のレコードのみ検索いたします。
 もし、年指定をなしにしたい場合は、上記SQLの3行目の条件を削除していただけますでしょうか。

何卒、よろしくお願い申し上げます。
テーブル名及びカラム名を日本語に設定して、
SQL Server 2008の環境にフォワードを実施しようとしたところ、
下記のエラーが発生しました。

--ここから--
CREATE TABLE 顧客マスタ
(
顧客ID VARCHAR(10) NOT NULL,
顧客名 VARCHAR(10) NOT NULL
)
《エラー》
'?' 付近に不適切な構文があります。
--ここまで--

SQL Profilerでトレースを取得したところ、
以下のように文字化けが発生しているようです。

この問題を回避する方法はありますでしょうか。
CREATE TABLE ?U?q?}?X?^
(
?U?qID VARCHAR(10) NOT NULL,
?U?q?? VARCHAR(10) NOT NULL
)
こんにちは
山田@SIです。

日本語の文字化けは、言語の設定や照合順序の設定が
日本語に対応していない場合に発生することがあります。

大変申し訳ございませんが、環境に依存する問題、
技術的調査が発生する問題に関しましては、
保守サービス対象範囲内となりますので、
掲示板上ではお答えすることができません。

お手数ではございますが、製品シリアル番号を記入の上、
弊社サポート窓口までご連絡いただけますでしょうか。
oob.support@sint.co.jp
お客様の保守加入状況を確認した後、返信させていただきます。

何卒よろしくお願い申し上げます。
いつも参考にさせて頂いています。

OBの使い方と言うよりOracleの権限に関わる事かと思いますが、何か良いアドバイスを頂けますようお願いします。

本番環境にありますユーザのテーブル及びプロシージャの内容を、参照用のユーザを作成し参照のみとし、かつ「相関」の表示機能も利用したいと考えています。
相関でテーブルやプロシージャとの相関を表示するには"CREATE ANY PROCEDURE"のシステム権限を付与しないと表示がされないようです。
"CREATE ANY PROCEDURE"権限を付与すると、誤ってコンパイルボタンを押すとコンパイルが実行されてしまうので、"CREATE ANY PROCEDURE"権限を付与せずに相関機能を利用できる方法はありませんでしょうか。

OB Ver 9.1.0.0
Oracle 10g Release 10.2.0.4.0

現在参照用ユーザに設定しているシステム権限は、
CREATE SESSION
DEBUG ANY PROCEDURE
SELECT ANY DICTIONARY
SELECT ANY TABLE
です。

以上、宜しくお願い致します。
こんにちは
後迫@SIです。

お問い合わせいただきました件についてですが、
他スキーマのプロシージャを参照する場合は、
「CREATE ANY PROCEDURE」または「EXECUTE ANY PROCEDURE」の
どちらかが必要となります。(Oracleの仕様上、作成・実行の
いずれかは可能となってしまいます。)

大変申し訳ございませんが、
何卒、よろしくお願いいたします。

早々にご回答ありがとうございます。

仕様であれば仕方ありませんのであきらめて
別の手段を考えてみます。

ありがとうございました。
はじめまして。

1つ質問があります。
現在、OB10.3を使用してOracle11g(11.1.0.7)に接続させようとしています。
Oracle11gにて小文字パスワードを設定したユーザにて
SQLPLUSから接続はできますが、OB10からは接続できず
「ora-01017」エラーが発生してしまいます。
パスワード入力欄に入力時に、小文字を入れるようにしていますが、
OB10からはエラーとなります。
Oracle11gサーバ側から当該ユーザのパスワードを大文字にすると
OB10から接続できます。

OB10から小文字パスワードで接続するにはどこか設定が必要なのでしょうか?

初歩的な質問で申し訳ありませんが、よろしくお願いします。

以上
URL参照してください
追記

OB11 では小文字のパスワードも送れるようになってます。
こんにちは
後迫@SIです。

このたびは返信が遅くなってしまい申し訳ございません。
(ている様に既にご回答いただいておりますので、
以下に補足として追記させていただきます。)

Oracle11gに関しましては、Ver.10.2以降より対応しております。
(Oracle11gでは、大文字小文字が区別されるようになっており、
sysなどのsystemは小文字のため、小文字でしかログインいただけません。
Ver.10.2より小文字入力を可能にし、この問題に対応しております。)

Ver.10.3をご利用とのことですが、もし小文字入力ができない場合は、
再度、「ヘルプ」メニューよりの「バージョン情報」をご確認の上、
10.1以前をお使いのようでしたら、10.3にバージョンアップをお願いできますでしょうか。

■Ver.10.3更新ファイルのダウンロードサイト
http://www.sint.co.jp/products/siob/ob/dl/download.html

また、Oracle11gにおきましても、以下の手順にて、ログイン時、大文字小文字の
区別しないように設定変更していただくことにより、Ver.10.1以前でも接続可能と
なります。

【変更方法】
①SQL*Plusにてsysまたはsystemユーザにてログインいたします。
②以下のSQLを発行いたします。
 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE

10.3以降にバージョンアップしていただくか、
設定を変更いただくかのどちらかの方法でご対応をお願いできますでしょうか。

お手数をおかけしてしまい申し訳ございませんが、
何卒、よろしくお願いいたします。
お世話になります。

ObjectBrowserのVersionを確認しましたところ、10.1でした。
10.3にVERSIONアップすることで対応出来ました。

ご回答頂き、ありがとうございました。
「SI Object Browser Ver6.0.0.0」のトライアル版を使用して、
『エンティティ定義書にインデックス情報を出力』を試していたところ
以下の現象が発生しましたので、ご報告致します。

----------------------------------------------------------------------------
①OBERにて存在するDBのER図(EDMファイル)を作成
②「データベース同期」の機能を使い、モデルとDBの状態を比較
③DBに存在しないインデックスを、「モデル変更」によってER図から削除
④「レポート出力」にて、『エンティティ定義書(インデックス情報あり)』を出力
⑤ER図に存在しないインデックスが、『エンティティ定義書』に出力される
 ※『インデックス一覧』には出力されません

OS・DB・エクセルのバージョンは以下の通りです。
[OS:Windows XP Professional(Service Pack 3)]
[DB:SQLServer2005]
[Excel:Office2003]
----------------------------------------------------------------------------

どうやら「データベース同期」によって、モデルから削除した情報が、
EDMファイル上に残っているようです。

しかしOBERでは、その情報を表示することができないため、
不要な情報の削除もできません。
→削除したはずのインデックスを同名称で追加しようとして場合も、エラーになります

バージョンアップの際には、上記の状態を回避できるようにして頂けると助かります。

以下は、参考情報として記載しておきます。
==========================================================================
①EDMファイルをテキストエディタにて、閲覧
②ER図に表示されないインデックス情報(<INDEXタグ>)が、残っていることを確認
→<INDEX ID>はあるが、<COLUMN ID>がない状態
③不要なインデックスの<INDEXタグ>を削除
④テキストエディタにて、ファイルを保存
⑤OBERにてファイルを開き、再度『エンティティ定義書』を出力

上記の方法にて、不要なインデックスが出力されなくなりました。
==========================================================================
こんにちは
山田@SIです。

ご報告ありがとうございます。
また、ご迷惑をお掛けしてしまい大変申し訳ございません。

弊社で確認作業を行なったところ、現象について再現いたしました。
ただ、再現性が不安定で、原因究明まではいたりませんでした。
(通常のインデックスでは問題ないが主キーインデックスの場合
 に再現 、など)

いずれにせよ、等問題に関しましては引き続き調査を行い、
修正可能となったタイミングのバージョンにて
対応を検討させていただきます。

何卒よろしくお願い申し上げます。
ER6で、SQLServerからのリバースエンジニアリングでエラーがでます。
結果としては表示されますが、テーブルのINDEXが判断できていないようです。

マシンはWinXP,ER5とER6がインストールされている状態です。
ER5では正常出力して、ER6でSQL serverからの一般的なエラーとなる
理由はありますか?
再インストール直後の新しいマシンで実行しています。
環境の問題でしょうか。

OSは、XPです。
こんにちは
山田@SIです。

お問い合わせいただきましたメッセージが出る原因として
考えられるケースですが、Ver.6時に、データベースの照合順序が
JAPANESE_BIN など、大文字小文字を区別するものに
設定されている場合が報告されております。
可能であれば、大文字小文字を区別しない照合順序に
設定していただきますでしょうか。

この問題は次回のバージョンアップにて対応させていただきます。
何卒よろしくお願い申し上げます。
ご回答ありがとうございます。

当方の環境では、Japanese_CI_ASでした。
照合順序は当然ながらDB環境設定の一部ですので、
むやみに変更は出来ません。
次回のバージョンアップがいつか分かりませんが、ひとまず修正版に期待します。
下記オプション設定を変更できないようにする方法、
又は、起動時に自動的に設定を変更する方法はありますか?
ObjectBrowserのバージョンは、9.0.1.4になります。

<設定項目>
 オプション設定 -> データ
  ・データ編集時に自動的にCOMMITする
  ・初期状態をデータ編集可能にする

   →いづれもチェックOFF状態にしたい


よろしくお願い致します。
こんにちは
後迫@SIです。

お問い合わせいただきました件についてですが、
SI Object Browser通常版におきましては、
データの編集オプションを強制的にOFFにすることはできませんが、
以下の手順にて、SQL実行時のデフォルト状態をOFFにすることは可能です。

①オプション画面にて、該当のオプション設定をOFFに変更する
②Object Browserを終了する
※変更したオプション設定については保存されますので、
 再度Object Browserを起動した場合は、オプションはOFFのままとなります。

また、データの参照のみ可能にしたReadOnly Editionがございます。
こちらをご利用いただきますと、データ編集などを完全に不可にすることが可能です。
http://www.sint.co.jp/products/siob/ro/index.html
ご検討いただけますでしょうか。

何卒、よろしくお願いいたします。
SI Object Browser通常版では出来ないとのこと了解致しました。

ご回答ありがとうございました。
Object Browser 11.0.0.0を使用しています。

以下のSQLを実行した場合、Object Browser 10では実行できたのに、Object Browser 11ではUPDATEでエラーになってしまいます。
BYPASS_UJVC ヒントが効いていないようです。
なぜでしょうか?

CREATE
TABLE test_update AS
SELECT 'a' key_id,
1 val
FROM dual
/
UPDATE (
SELECT /*+ BYPASS_UJVC */
w.val old_val,
d.val new_val
FROM test_update w
INNER JOIN
(
SELECT 'a' key_id,
2 val
FROM dual
UNION ALL
SELECT 'a' key_id,
3 val
FROM dual
) d
ON (
w.key_id = d.key_id
)
)
SET old_val = new_val
/
ORA-01779: キー保存されていない表にマップする列は変更できません。

ちなみにOracleは9.2.0.7.0です。
こんにちは
後迫@SIです。

このたびは返信が遅くなってしまい申し訳ございません。
ご報告の現象について再現いたしました。

SQL実行画面内にて、ヒント句つきのSQLを実行した場合、
ヒント句が無効となった状態で実行されてしまうようです。
(Ver.11の不具合です。誠に申し訳ございません。)

この不具合に関しましては、
次回バージョンアップにて修正を検討させていただきますので、
何卒、よろしくお願いいたします。
今回の不具合は「BYPASS_UJVC」ヒント限定ではなく、全てのヒント句が無効になるのでしょうか。?

かなり致命的な不具合と思います。

バージョンアップといわず、一刻も早いパッチの提供をお願い致します。
こんにちは
後迫@SIです。

このたびはご不便をおかけしてしまい申し訳ございません。

いただいた不具合に関し案しては、
開発側に伝え、できるだけ早急に修正を
行うよう検討させていただきますので、
何卒、どうぞよろしくお願いいたします。
本件、その後如何でしょうか。
改修版のリリース時期はいつ頃でしょうか。
ヒントによるSQLのチューニングをObjectBrowserから実施できず、大変困っております。
1日も早い対応をお願い致します。
プログラムの修正、有難うございました。

今後とも宜しくお願い申し上げます。