dポイントプレゼントキャンペーン実施中!

JavaというかDBに関しての質問です。

仕事で元々 Access で作られていたアプリをWebアプリで作り直す事になりました。
元々の Access バージョンでは、
外部の Oracl への「リンクテーブル」を設け mdb のテーブルと結合させて
データを表示するというような事をしています。

この度作成するWebアプリ版(Java)では、
元々の mdb のデータを新たに建てる MySQL へインポートし
外部の Oracl と MySQL のテーブルを結合しデータを読込み画面へ表示するというような事を実現したいです。

そもそも異なるDBを結合する事は可能なのでしょうか?
同期の問題があるので出来ればどちらかのDBにもう一方のDBのデータをコピーするというような事は避けたいです。

なお私の方で既に試した方法としてそれぞれのDB(テーブル)をJDBCで別々に読込んでクエリの結果セットをモデル化したJavaのオブジェクトに格納し
その後、結合の条件を指定しマッピングするという実装を試してみましたがマッピングに非常に時間がかかり使い物になりませんでした。
※やはりSQLには遠く及ばなそうです。

MySQL で Access のリンクテーブルのような便利機能はあるのでしょうか?
Oracl はお客様が管理されており手を加えることが出来ません。

またデータベース側で出来ないとなればアプリ(Java)側で何とかしないとなりませんが
Java で良い解決策はありますでしょうか?

まとまりの無い質問となってしまいましたがどうぞ宜しくお願いします。

A 回答 (2件)

「MySQL Connector/ODBC」というものがあります。


DB間の接続にはODBCを利用するのが簡単です。
名の通ったDBであれば対応するODBCドライバーも提供されているものと思います。
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-co …

 また「黒猫 SQL Studio」も応用できるかもしれません。
http://kuronekosoft.ewinds.net/
    • good
    • 0
この回答へのお礼

貴重な情報ありがとうございます。

「黒猫 SQL Studio」このアプリは初めて知りました。
便利そうですね!

「MySQL Connector/ODBC」というものがあるんですね。
AccessのリンクテーブルもODBC経由なのでmdbとの結合が可能なんでしょうね。
いろいろ調べてみます。問題解決に繋がるかもしれません。

ありがとうございました。

お礼日時:2010/03/09 16:57

Oracleからであれば、データベースリンクを使えばできたような気がします。


逆に、SQLServerからも同様の機能(リンクサーバー?)があると思います。
下記を参照してみてください。
http://q.hatena.ne.jp/1162546828
    • good
    • 0
この回答へのお礼

貴重な情報をありがとうございます。

SQLServerは余り触ったことがありませんでしたが、
やはり有名どこのRDBにはODBC経由のリンク機能があるんですね。
MySQLにも「MySQL Connector/ODBC」というものがあるそうです。

設定時(リンク時)にエラーとかが出そうな匂いがしますが
調査して試してみたいと思います。

ありがとうございました。

お礼日時:2010/03/09 17:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!