• ベストアンサー
  • すぐに回答を!

OracleからMySQLへのSQL文の変換

Oracleを利用するJavaプログラムが現在あり、 これをMySQLを利用するように作り変えようとしていますが、 プログラムで使用されているSQL文を変更することが 必要になりました。 そこで、Oracle用のSQLをMySQL用のSQLに変換して くれるツールはないでしょうか? もしなければ、手動で変換するのに必要な 注意点等教えていただければと思います。

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数2
  • 閲覧数699
  • ありがとう数12

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • inu2
  • ベストアンサー率33% (1229/3720)

OracleのデータベースやテーブルをMySQLに移すツールはありますが、SQL文をMySQLに変換するツールは聞いたこと無いですねぇ MySQLのバージョンにもよりますが、 Oracleで当たり前のように使える関数がMySQLでは当たり前のように使えなかったりします。 副問合せとか当たり前のように出来なかったりします>MySQL (MySQL4.1から出来るようになったらしいが、安定版ってまだ出てなかったハズ)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 関数がネックですね。 NVL、TO_CHARと普通に使えてたのが比較しながら 変換かけないといけませんね。 まだどのMySQLのバージョンを使うかは確定してませんが、 副問い合わせをどうしようか悩むところです。

その他の回答 (1)

  • 回答No.1

こんばんは。 確か、DB2ならあったような気が・・・。 OracleからMySqlはないと思いますよ。 手動で変換するとなると、特に組み込み関数の部分が問題ですね。 頑張って下さい・・・。 (^^ゞ

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速の回答ありがとうございました。 手動でやるならやはり組み込み関数が問題ですか。 数が相当あるのでがんばってみます。

関連するQ&A

  • MySQLでの動的SQL

    javaとOracleを利用して開発をしています。 OracleのデータをそのままMySQLへ移行し、 小規模の類似システムを構築しようと考えているのですが、 MySQLではOracleと同様に、 動的SQL(埋め込みSQL)を利用することは可能でしょうか? また、参考になるサイトがあれば教えていただきたいです。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • MySQL show create table ~と同じOracleでのSQL文

    Mysqlでテーブルを作成するステートメントを表示するSQL文 ” SHOW CREATE TABLE テーブル名”に該当する、oracleの SQL文ってありますか?

  • SQL変換ツールについて

    このカテゴリに書いていいのかわからないですけどSQLについて教えてください。 現在、データベースをアクセスからOracleに変更する移行作業を進めています。 その作業の中で、アクセス特有のSQL文をOracle用に変更してSQL文をDBに投げる処理 をしているのですが、SQLがそれほど詳しくないのでアクセスのSQLをOracleなど用の 一般的なSQLに変換するツール(フリー)等はないでしょうか。 SQLの違いについて詳しく解説しているHPのアドレスのみでもかまいませんので 宜しくお願い致します。

  • OracleとSQL ServerのSQL文上での差異について

    お世話になっております。 もしOracleやSQL Serverに関してご存知の方が いらっしゃいましたらご教授ください。 今、業務で 「Oracleに載せるシステムをSQL Serverで載せられないか?」 という話が出ており私が調査を行う事になりました。 しかし私のSQL Server経験が浅い為困っている点があります。 (以下の質問は当然ですがシステムで動く・動かない の話はヌキにしてのSQLレベルでの話です) ・Oracle特有のSQL構文をSQL Serverに見合った構文に 直すことによって(DATE→datetime/NUMBER→int等)一般的な SELECT文、INSERT、UPDATE、DELETE文はそのまま使う事が可能か? ・上の件に関する経験をお持ちの方・知識のある方にお聞きしますが 何かこの件に関する注意点などありますでしょうか? の2点になります。 どうかご存知の方がいらっしゃいましたらお願い致します。

  • PostgresSQL文→MySQL文への変換について

    始めまして、soulutionと申します。 この度、社内イントラネット構築により、備品発注機能をポータルサイトに追加することになりました。 ポータルサイトはphp+mysqlにて動作しております。 なのでphp+mysqlにて備品発注機能を実装しようと思いまして、ベースはショッピングカート機能で作成しようかと思っております。 googleなどでphpによるショッピングカート作成しているフリープログラムを見つけ、プログラム解析をしていたのですが、そのプログラムのデータベースはPostgresSQLベースで組まれており、当方ではPostgresSQL文をMysql文に変換できなかったため、皆様にお力添えしていただけたらと思っております。 いろいろ思考錯誤しましたが、エラーとなりました。。 一応下記に構文を載せておきます。 どうぞよろしくお願い致します。 開発環境(サーバ) OS:windows XP sp2 PHP:バージョン5.28 MySQL:バージョン5.1 エディタ:Adove DreamweaverCS3 ブラウザ:Internet Explore ver6.0 PostgreSQL文(これをMySQL用に変換します) ------------------------------------------------------------ if($mode == 'sort'){ if($a){ $sql = "select * from db01 where a = " . $a . " order by " . $b . " " . $c; }else{ $sql = "select * from db01 order by " . $b . " " . $c; } }else{ $sql = "select * from db01 order by " . $b . " " . $c; } MySQL(当方が考えました) ------------------------------------------------------------ if($mode == 'sort'){ if($a){ $sql = "select * from db01 where a=$a ORDER BY $b.$c "; $mysql->query($sql); }else{ $sql = "select * from db01 ORDER BY $b.$c"; $mysql->query($sql); } }else{ $sql = "select * from db01 ORDER BY $b.$c"; $mysql->query($sql); } エラー ------------------------------------------------------------ Fatal error: Call to undefined function pg_query() in C:\Program Files\Apache Group\Apache2\htdocs\Prototype\equipment-order.php on line 408

    • 締切済み
    • PHP
  • MSSQLとMySQLのSQL文の違いについて

    MSSQLとMySQLのSQL文の違いについて 恐れ入ります。 最近仕事にて、MSSQLを使用することを前提に開発したWebアプリをMySQLでも使用できるようにすることになりました。 接続関連の処理は置き換えが完了したところなのですが、MSSQLとMySQLで実行できるSQL文が違う点で問題が発生しています。 検索してみてもSQL文の比較一覧などは見当たらないようです。 ご存知の範囲で教えていただけないでしょうか。 また、そういった比較一覧の資料、サイト、書籍等ありましたら教えていただけないでしょうか。 現在把握しているものは以下の通りです。 [MSSQ]L [MySQL] TOP句 LIMIT句 GETDATE() CURDATE() まだこの程度しか把握できておりません。 どうぞよろしくお願いいたします。

  • sqlをDB間で変換する

    C言語やVBをC#に変換するツール等はよく見かけますが、SqlServerのsqlをOracle等に変換するツールはありませんか?精度が低くでもよいので、お願いします。

  • SQLについて

    SQLには Transact-SQL、MySQL、PostgreSQL、PL/SQLといったように種類があります。 使用できる関数が違うとかは分かるのですが、 具体的に何がどう違うかなどははっきり理解できていません。 また、どのSQLをどのような用途で使用するのかなども分かっていません。 また、これに関することで、DBでSQLServerとかOracleとかが関わっていると思われるのですが。 例えば、SQLServerではTransact-SQLを使用して、Oracleでは別のSQL(ここはよく分かっていません)を使用するみたいなことでしょうか? 要はSQLというものがあって、それをコーディングするためのアプリケーションに対応しているものが、各SQLといった事? 例えば、C#、VBA、Java(Transact-SQL、MySQL)などのプログラミング言語(SQL)があって それを使用できるアプリケーションはそれぞれ VisualStudio、Excel、eclipse(SQLServer、Oracle)みたいな意味合いなんでしょうか? よく分からない質問と例えになってしまいましたが、ご回答のほうをよろしくお願いします。

  • Oracleがシャットダウンできません

    SolarisでOracleを動かしていたのですが、端末エミュレーターで SVRMGR>shutdown と打っても SVRMGR>shutdown ■ ↑ここにプロンプトが点滅し続けるのみで一向に落ちません。裏で他にサーバーマネージャーを起動してもないです。javaとSQLを使っていて、反応しなくなって閉じることのできないプログラムが2つ残ってます。どうすればshutdownできるのでしょうか?反応しなくなったプログラムがやはりマズイのでしょうか?プログラムはjavaで書いた、SQLを使った簡単なものです。 他に必要な情報がありましたら追記しますので、よろしくお願いします。

  • Symfowareでの動的SQL

    富士通のSymfowareでC言語での動的SQLを使ったプログラムを実行したいのですが、疑問点が2点あります。 諸事情でマニュアルも環境もないのにコーディングしないといけません。 1.EXEC SQL EXECUTE IMMEDIATE 'SQL文' ; は使用できますか? ORACLEなどでは EXEC SQL EXECUTE IMMEDIATE 'DELETE FROM A' ; などと記述できますが・・・ 2.検索系(SELECT)も1.のように動的に 実行したいのですが、検索結果をカンマ区切りで 編集する必要があります。 しかも、SELECT文は文字列としてくるので、 あらかじめ構造体等で定義してFETCHするようなこと   はできません。 ORACLEの場合は、ちょっと難しいですが、できるようです。 Symfowareでは可能でしょうか? Symfowareの情報があまりにも少ないので、わかる範囲でかまいません。 よろしくお願いします。