■SI Object Browser 掲示板


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

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

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

よくある質問(FAQ)

検索オプション 矢印

~
リセット
新規投稿
こんにちは。
OBサポートです。

お問い合わせいただいた件につきまして、弊社環境にて再現することを確認いたしました。

・SELECT文でテーブルを結合している
・SELECT文でFOR UPDATE NOWAIT句を指定している
・DATE型のカラムをSELECTしている
・SELECTの結果が複数行かつNULL値のフィールドのみとなっている

を満たすとき、SI Object Browser上で2行目以降のDATE型のNULL値が
「0001/01/01」として表示される不具合となります。

本現象につきましては、NULLでないフィールドが1つでも存在すれば
発生しないものと存じますので、お手数ですが値の存在するカラムを
SELECT句に含めていただきますようお願いいたします。

例)
select A.KEY_1, B.SUB_KEY, B.DATE_JOIN from DATE_TEST A, DATE_TEST_JOIN B where A.KEY_1 = B.KEY_1 For Update Nowait

また、本件は開発側に伝えさせていただき、今後のバージョンアップ時に
対応を検討してまいります。

ご不便をおかけいたしますが、何卒、よろしくお願い申し上げます。

■環境情報
Object Browser for Oracle:14.0.0.0
OracleDataBase:11.2
ClientOS:Win7
OracleClient:11.2

■確認事項
For Update Nowait を利用したテーブル結合を行ったSelect文を用いて
複数の空の日付項目を取得した場合にNullで取得するはずの項目に意図しない値が出力される事象が発生いたしました。
また、SQLPlusを用いて確認したところ異常な値は返ってきませんでした。
本事象がObject Browser上の問題であるか確認をお願いします。
また、Object Browserを用いて正しい値を取得できる方法などありましたら情報を提示していただければと思います。
 ※下記に再現用のSQLを記載しております。

■再現用SQL
CREATE TABLE DATE_TEST
(
KEY_1 CHAR(3) NOT NULL,
DATE_1 DATE
)
/
CREATE TABLE DATE_TEST_JOIN
(
KEY_1 CHAR(3),
SUB_KEY CHAR(1),
DATE_JOIN DATE
)
/
INSERT INTO DATE_TEST A (A.KEY_1) VALUES ('001')
/
INSERT INTO DATE_TEST_JOIN B (B.KEY_1, B.SUB_KEY) VALUES ('001','1')
/
INSERT INTO DATE_TEST_JOIN B (B.KEY_1, B.SUB_KEY) VALUES ('001','2')
/

select B.DATE_JOIN from DATE_TEST A, DATE_TEST_JOIN B where A.KEY_1 = B.KEY_1 For Update Nowait

結果
1レコード目:Null
2レコード目:0001/01/01
※2レコード目に意図しない値が出力されます
良く確認したら、属性部分に重複項目がありました。お騒がせしました。
こんにちは。
OBサポートです。

「同じ属性名が既に存在しています」メッセージは、1つのエンティティ内に
同一の属性名が複数設定されている場合に表示されますので、重複がないか
ご確認くださいますようお願いいたします。

何卒、よろしくお願い申し上げます。

定義情報が読み込めるようになりましたが、作成されたエンティティ情報を変更して保存しようとすると、また

「同じ属性名が既に存在しています」

 というエラーが出るようになり、変更して保存ができなくなりました。「同じ属性名」というのはどの部分を指していて、どう修正すればいいのでしょうか?
こんにちは。
OBサポートです。

定義内容の取り込みにつきましては、対応しております。

Excel取込画面下部にある「読込設定」ボタンを押下し、表示される「レポート定義(読込設定)」ダイアログにて、「エンティティ定義書」タブに以下の情報が設定されているか
ご確認ください。

・明細部に「属性定義」が指定されているか
・取込対象のExcelファイルのセル位置と、明細部 > 「属性定義」の位置情報が正しくマッピングされているか

何卒、よろしくお願い申し上げます。
[OBサポート]
>こんにちは。
>OBサポートです。
>
>お問い合わせいただいた件につきましてですが、あいにくDocker上のデータベースに
>おける接続は動作保証外とさせていただいております。
>
>しかしながら、データベース接続は可能とのことですので、接続ユーザがスキーマに
>対する権限を付与されていないなど、データベース内における設定の不足が考えられます。
>
>一度、OS上に構築した環境と比較いただき過不足がないかご確認いただければと存じます。
>
>何卒、よろしくお願い申し上げます。

Docker環境のDBに対しても同期処理できました。 権限の問題でした
ありがとうございました。
調査いただきありがとうございます。

いただいた情報を基に、1秒を求めてみたところ、循環小数になり、
単なる引き算では正しく計算できなさそうなことが分かりました。

1秒に満たないぎりぎりの数字を加算し、TRUNCすることで
とりあえず良いことにしました。

お手数をおかけいたしました。
ドメインが取り込めない点は了承しましたが、もう一つ、エンティティに「定義内容」というカラムがありますが、こちらはExcel取り込みに対応しておりますでしょうか。
Excelにはカラムのコメントに定義する内容を記載しており、エンティティ取り込み設定には定義していますが、どうも取り込めないように見えます。
自己解決しました。文字コードをUTF-8にする必要があったようです。