(現在 過去ログ42 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■6389 / inTopicNo.1)  MySQL
  
□投稿者/ 尾形 -(2011/04/09(Sat) 06:32:02)
    どうも、こんにちは

    centosでMySQLをyumして使っています
    以前は、MySQL5.0だったのですが
    最近はMySQL5.1がyumされるようです

    xvwの定義で
    伝票ヘッダ・伝票明細・得意先マスタの3つの結合
    伝票ヘッダ (all全件抽出指定) <-> 伝票明細
    伝票ヘッダ (all全件抽出指定) <-> 得意先マスタ
    こんな感じで定義して使っていました

    5.0の時は正常に動作していました
    5.1になると構文エラーとなり受け付けてくれません

    LEFT OUTER JOIN が複数になると
    ( FROM {oj {oj )となるとダメなような感じがします
    これが1つの時は問題ないのですが
    2つ以上になるとエラーが起きるようです

    http://bugs.mysql.com/bug.php?id=28317
    http://bugs.mysql.com/bug.php?id=45602
    リンク先をたどっていくと、マイクロソフトも同様使用?

    桐的には結構つらい仕様と思います
    もし、ご参考になればと思い書かせていただきました

引用返信 [メール受信/OFF] 削除キー/
■6390 / inTopicNo.2)  Re[1]: MySQL
□投稿者/ うにん -(2011/04/11(Mon) 16:30:45)
    > LEFT OUTER JOIN が複数になると
    > ( FROM {oj {oj )となるとダメなような感じがします
    > これが1つの時は問題ないのですが
    > 2つ以上になるとエラーが起きるようです
    >
    > http://bugs.mysql.com/bug.php?id=28317
    > http://bugs.mysql.com/bug.php?id=45602
    > リンク先をたどっていくと、マイクロソフトも同様使用?

    下のリンクを読むと、{ojが2個なのがMySQLのODBCのバグらしいですが、
    何で{ojが必要なんでしょうね?

引用返信 [メール受信/OFF] 削除キー/
■6391 / inTopicNo.3)  Re[2]: MySQL
□投稿者/ hidetake -(2011/04/11(Mon) 17:56:07)
    2011/04/11(Mon) 18:02:44 編集(投稿者)

    > 何で{ojが必要なんでしょうね?

    これは桐が投げかけて使っているようです

    桐が使用するエスケープシーケンスは {fn {oj {ts の
    3つかな。

    # 桐8は簡単に「ODBC SQL Statement」を確認することが
    # できるのに桐9はその機能が殺されてしまって?面倒…

引用返信 [メール受信/OFF] 削除キー/
■6392 / inTopicNo.4)  Re[3]: MySQL
□投稿者/ うにん -(2011/04/11(Mon) 22:32:08)
    > これは桐が投げかけて使っているようです
    >
    > 桐が使用するエスケープシーケンスは {fn {oj {ts の
    > 3つかな。

    そうなんですか…
    pgsqlでは問題なかったから、するとpg(とかMySQL5.0)のODBCドライバは{ojが
    入れ子になってても通してしまうという仕様外の動作で逆にうまくいっている?
引用返信 [メール受信/OFF] 削除キー/
■6393 / inTopicNo.5)  Re[4]: MySQL
□投稿者/ 尾形 -(2011/04/12(Tue) 06:25:46)
    > するとpg(とかMySQL5.0)のODBCドライバは{ojが
    > 入れ子になってても通してしまうという仕様外の動作
    ODBCドライバはかえていません
    変更したのは、サーバ環境だけなのです

    MySQLのODBCにはver5.18とver3.51.28が
    あるようなのですがどちらも同じでした


引用返信 [メール受信/OFF] 削除キー/
■6394 / inTopicNo.6)  Re[3]: MySQL
□投稿者/ 尾形 -(2011/04/12(Tue) 09:15:15)
    > これは桐が投げかけて使っているようです
    原因としては、標準仕様?に合わせていない桐側の不具合?
    って事になるのでしょうか

引用返信 [メール受信/OFF] 削除キー/
■6396 / inTopicNo.7)  Re[5]: MySQL
□投稿者/ うにん -(2011/04/13(Wed) 13:07:58)
    > ODBCドライバはかえていません
    > 変更したのは、サーバ環境だけなのです
    >
    > MySQLのODBCにはver5.18とver3.51.28が
    > あるようなのですがどちらも同じでした

    成程、MySQLのODBCドライバは何もしないでスルーしてしまうらしい?
    サーバ本体が{oj構文を解釈するようになってるようです。
    http://dev.mysql.com/doc/refman/5.1/ja/join.html
    しかしこの記述だと5.1でも入れ子可能に読めます。(実装が変ったのにドキュメントが直ってない?)

    本来は
    アプリケーションがODBC準拠のSQL文実行({ojは1個だけ)
    ODBCドライバがネイティブのSQL文に変換してサーバが実行({ojなし)
    という流れのはずが、
    桐は{ojを2個(以上)使用する
    ODBCドライバは
     pgsql 単に{ojを取っ払う(か2個以上でも変換できる)
     MySQL 何もしない
    MySQLサーバは
     5.0まで {oj2個でもOK
     5.1から {oj1個しかだめ
    ということになっている?
引用返信 [メール受信/OFF] 削除キー/
■6397 / inTopicNo.8)  Re[6]: MySQL
□投稿者/ 尾形 -(2011/04/13(Wed) 15:55:05)
    どうも、ありがとうございます

    オラクルは{oj使わないみたいだし
    ms SQLserver はどうなんでしょうねぇ

    K3に言っても相手にしてくれないだろうし
    当面は5.0で使うけど、どうしよう
    MySQL5.0はオフィシャルもなくなったし

引用返信 [メール受信/OFF] 削除キー/
■6403 / inTopicNo.9)  Re[7]: MySQL
□投稿者/ うにん -(2011/04/15(Fri) 13:23:56)
    MySQL Proxy
    http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy.html
    というのがあって、SQLの書き換えができるらしいのですが、ちょっと流し読みした
    だけでは具体的な使い方はわかりませんでした。
    これで{oj}を削除してしまえばいいかと思ったのですが。
引用返信 [メール受信/OFF] 削除キー/
■6595 / inTopicNo.10)  Re[4]: MySQL
□投稿者/ 尾形 -(2011/09/08(Thu) 08:30:53)
    ダメ元でユーザサポートに連絡してみたけど

    >桐が生成するSQL文では、複数の表の外部結合はサポートして
    >おりません。
    >必要であれば、ビューを作成してください。
    とのありがたいお言葉を頂きました


引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -