フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: 1 2 3 4 5 6 [7] 8
トピック: [Software] IBConsole 日本語版+α
kita--
メンバー
投稿数: 22
Re: [Software] IBConsole 日本語版+α
on: 2018/08/03 10:43 Fri

こんにちは
rel66_win64 に早速アップデートしてみました。

メタデータの表示、直ってないです。
同じエラーが表示されます (^^;)

DEKO
管理者
投稿数: 2599
Re: [Software] IBConsole 日本語版+α
on: 2018/08/03 22:39 Fri

ぇー

ファイル日付が 2018/08/02 17:39 であればあのエラーは出ないハズなのですが…???
[ヘルプ | IBConsole について] で、rel.66 と表示されていますか?

もし、rel.66 で間違いないのでしたら、
エラーダイアログのテキストを再度こちらに貼り付けていただけませんか?

kita--
メンバー
投稿数: 22
Re: [Software] IBConsole 日本語版+α
on: 2018/08/04 09:59 Sat

ファイル日付は 2018/08/02 17:39、バージョンも rel.66 で間違いないです。
「データベースの作成…」メニューから、空のDBを作成しても同じメッセージが出ます。

—————————
IBConsole Unicode Edition (64bit)
—————————
Dynamic SQL Error
SQL error code = -204
Ambiguous field name between table RDB$FIELDS and table
RDB$RELATIONS and table RDB$RELATION_FIELDS
RDB$SYSTEM_FLAG.

DEKO
管理者
投稿数: 2599
Re: [Software] IBConsole 日本語版+α
on: 2018/08/06 01:45 Mon

了解しました。
まだ潰しきれていない問題があるようですね。

DEKO
管理者
投稿数: 2599
IBConsole 日本語版+α Unicode 版 rel.67 リリース
on: 2018/08/11 01:56 Sat

[変更点]

  • (U) データベースのメタデータを表示しようとするとエラーになる問題を修正

Firebird の方が SQL の曖昧さにシビアになっているようですね。

kita--
メンバー
投稿数: 22
Re: [Software] IBConsole 日本語版+α
on: 2018/08/11 08:09 Sat

早速 rel.67 にアップデートしました。
が、まだエラーダイアログ出ます。
Firebird 3.0 で「データベースの作成…」メニューから空のDBを作成して試しました。

すみません、理解に苦しむのですが、DEKOさんの環境では
正常に動作するということなのでしょうか?

—————————
IBConsole Unicode Edition (64bit)
—————————
Dynamic SQL Error
SQL error code = -204
Ambiguous field name between table RDB$FIELDS and table
RDB$PROCEDURE_PARAMETERS
RDB$COLLATION_ID.

DEKO
管理者
投稿数: 2599
Re: [Software] IBConsole 日本語版+α
on: 2018/08/11 12:05 Sat

私の環境 (手持ちの DB) では正しく動作しますね。
この件で何度もリリースしていますが、その度にエラーの出る DB を探して修正しています。

ちなみに修正箇所は IBX の中 (IBX.IBExtract) なので、IBConsole そのもののバグではありません。
この件、ODS バージョンとかに依存するのかもしれませんが、そこまでディープに調査していません。

DEKO
管理者
投稿数: 2599
IBConsole 日本語版+α Unicode 版 rel.68 リリース
on: 2018/08/11 12:54 Sat

[変更点]

  • (U) データベースのメタデータを表示しようとするとエラーになる問題を修正

32bit: http://ht-deko.com/software/ibc_unicode_rel68_win32_ja.zip
64bit: http://ht-deko.com/software/ibc_unicode_rel68_win64_ja.zip

※ [ヘルプ | アップデートの確認] からもアップデートできます。

修正箇所がまだあったようです。

DEKO
管理者
投稿数: 2599
Re: [Software] IBConsole 日本語版+α
on: 2018/08/11 13:17 Sat

Firebird のシステムテーブルを解析してメタデータを生成する際、
TBL_A, TBL_B と JOIN されているとして、Version 1 では A にのみ FLD_HOGE というのが存在していれば、

SELECT FLD_HOGE FROM 
TBL_A A
LEFT JOIN TBL_B B ON
(B.KEY = A.KEY)

 
このような SQL は問題ありません。ところが Version 2 で TBL_B にも FLD_HOGE が定義されたとすると、上記 SQL は Firebird 2.x 以降では曖昧エラーになってしまいます。

SELECT A.FLD_HOGE FROM 
TBL_A A
LEFT JOIN TBL_B B ON
(B.KEY = A.KEY)

 
このようにキッチリ修飾してあげなくてはなりません。

…が。この修飾が厄介で、普通は定義されているテーブルの並び順 (上位順) に試せば OK なのですが、

TBL_A, TBL_B, TBL_C と JOIN されているとして、
新しいバージョンでは TBL_B と TBL_C に FLD_HOGE が定義されていて、古いバージョンでは TBL_C にのみ FLD_HOGE が定義されている可能性があります。この時 B.FLD_HOGE と記述したとすると、新しいバージョンで確認すると正常ですが、古いバージョンで確認するとエラーになってしまいます。

IBX は Interbase 用に作られており、これらの問題には対処してくれません…恐らく Interbase では正しく動作するのでしょう (わざと曖昧さを利用しているフシがあります)。そして Firebird のすべての ODS バージョンを把握している訳ではないので、どうしても場当たり的な対応になってしまいます。

# IBX.IBExtract は Delphi から使う事はまずないので、
# IBX で Firebird を使う際にこの問題を意識する必要はないハズです。

kita--
メンバー
投稿数: 22
Re: [Software] IBConsole 日本語版+α
on: 2018/08/11 13:48 Sat

こんにちは。
rel.68 にバージョンアップしたところ、メタデータが表示されるようになりました。
お手数をおかけしました。ありがとうございます。

この件、IBXの修正が必要だったのですね。
ということは、環境によってはまだ出る可能性もあると。

私の環境にあるDBは、全て自分で設計したものなので、似たような作りになっているもの
ばかりだと思います。とりあえず、可能な限り試してみましたが、全てOKでした。

フィールドがあいまいだよ。って言われて、そうかもしれんけど、
この場合結果的にはそのフィールドの値は同じなんだから、融通きかせてよ。
って思うのは私だけ?

ページ: 1 2 3 4 5 6 [7] 8
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.062 sec.