• ベストアンサー
  • 困ってます

MySQL/PostgreSQLとのDBLink

お世話になっております。 今回新たにWEBアプリケーションを作成する予定です。 その際、そのアプリケーションに対しては MySQL か PostgreSQL を利用いたします。 ただ、マスタ関連のデータが、別の Oracle(10g) サーバに格納されています。 この新規のアプリケーションから、Oracle への DBLink を作成し、 選択、登録、更新、削除、の操作は可能でしょうか? MySQL や PostgreSQL は最新の安定バージョンとなるかと思います。 少し調べてみたところ、MySQL や PostgreSQL に DBLink の機能があるみたいですが、 どれほど実用的でしょうか? こういった点ができない、または困るなどもありましたら教えていただけますでしょうか? また、MySQL や PostgreSQL から Oracle へ DBLink する場合、 Oracle のライセンスなどが必要になったりはしないでしょうか? (※単なるクライアント扱い?) もし、ご存知のかたがいらっしゃいましたらご教示よろしくお願いいたします。

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

  • 回答数1
  • 閲覧数2498
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

確かに、MySQL にも PostgreSQL にも DBLink に似た機能はあります。 ポスグレは、その名もdblink、MySQLの場合は、ストレージエンジン・・・かなぁ? (詳しい方は突っ込みよろしく) ですが、ORACLEやMS SQL Serverのように異機種間でのリンクは自分の知る限り、不可だったように思います。 因みに、(こちらはご存知かもしれませんが)ORACLEの場合は、Generic Connectivityと言う機能で、MySQL や ポスグレへのリンクが可能です。 Windowsの場合は比較的簡単に設定できますが、Unix/Linuxの場合は、unixODBCなどを使うのでハマると思います。 (実用的には???) >また、MySQL や PostgreSQL から Oracle へ DBLink する場合、 >Oracle のライセンスなどが必要になったりはしないでしょうか? もし可能だったとしても JDBC thinドライバなど、クライアントライセンスが発生しないミドルウェアでない限り、ORACLEクライアントライセンスが発生します。

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

質問者からのお礼

ご回答ありがとうございます。 お礼が遅れ申し訳ございません。 参考にさせていただきます。 Generic Connectivity についても知らなかったので勉強になりました。

関連するQ&A

  • Oracleを自分の家で使う時。

    Oracleを自分の家で使う時、サーバマシンとクライアントマシンの2台のパソコンが絶対必要なのですか? MySQLやPostgreSQLは1台でも出来たんですが、Oracleはどうなんでしょう?本を読むと2台必要だと、かいてあります。 よろしくおねがいします。

  • MYSQL CREATE DATABASE 権限

    MYSQL・PostgreSQLにてデータベースを作成できる権限をもつユーザを作成することは可能でしょうか? やりたいことは、ユーザAとユーザBを作成し、それぞれ新規にデータベースを作成してもらいます。 ユーザAの作成したデータベースは、ユーザAは自由に操作できますが、 ユーザBでは見ることも触ることもできない状態にしたいのです。 いろいろググってみたのですが、データベースに対して権限を与えるようなものしか見当たりませんでした。 よろしくお願いします。

  • Oracleのライセンス形態

    システム初心者です。 今、Oracleについて色々調べているのですが、 ・Oracleの種類(今の最新はいくつでしょうか?) ・ライセンス形態(クライアント数、価格等) 等がまとめられているサイトはありますでしょうか? 何よりもライセンス形態が複雑で良く解りません。 どなたかご教授下さいm(__;)m

  • ODBC(Open DataBase Connectivity)について

    基本的なご質問で申し訳ございません。 ODBCに関する以下の質問に対するご回答をお願い致します。 (1)ODBCドライバは、各データベース(Oracle, MySQL, PostgreSQL等)  ごとに用意されているのでしょうか? (2)ODBCドライバは、クライアント/サーバのどちらの環境で必要と  なるものなのでしょうか? (3)ODBCを使用してデータベースにアクセスするアプリケーションを  作成する場合、使用言語やOSに制限はあるのでしょうか? (ODBCが使用できるのはC言語/Javaアプリ限定? Windowsアプリ限定?)

  • 表の作成日時はわかりますか?

    よろしくお願いします。 Oracle10gR2 WindowServer2003です。 単純に、Oracleに表を新規作成した場合、 作成時間というのはどこかに残りますでしょうか。 OracleEnterpriseManagerでは発見できませんでした。 よろしくお願いします。

  • VS2005アプリケーションで、Oracleデータを参照したい

    WebサーバーにWindowsアプリケーションを作成して、配布しましたが 個々のユーザー(クライアント)がそのアプリケーションをインストールしたときに、 Oracleクライアントがないために、エラーになります。 初心者で申し訳ないののですが、VS2005でWindowsアプリケーションを 開発して、Webサーバに配布したときのOracle接続はどのようにすれば、 Oracleクライアントなしのユーザーの端末で実行できるのでしょうか? どうか、教えてください。

  • MySQL の冗長化について

    お世話になります。 MySQLの冗長化について質問です。 現在新規サービスを立ち上げるためにインフラの導入を 検討しています。 求められている要件として、 ・24時間無停止(計画停止はあり) ・障害発生時のフェイルオーバー時間は10分以内 ・冗長化構成(遠隔地を含んだ冗長化は行わない) があります。 MySQLではシングルマスタレプリケーションを使用することで 参照系DBのスケールアウトは可能ですが、 更新系DBの冗長化を行うにはマルチマスタレプリケーションを 行う必要があると認識しています。 とはいえ、マルチマスタレプリケーションにて冗長化を行うと、 アプリ側での作りこみやリカバリを考えると頭の痛いことが 多いように感じています。 単一障害点となるマスタDBの冗長化を行うにはどのような 方法を使えば安価かつ可用性・拡張性を得ることが可能でしょうか。 (負荷分散には目をつぶる前提です) ※基本的には作りこみではなくソフトウェアでの解決を考えています。  また、Oracleを視野に入れると導入コストが跳ね上がるので  考えないものとしています。 お勧めの製品・方法があれば情報をいただけないでしょうか。 宜しくお願いします。 

  • MySQLでのテーブル作成について

    はじめまして。私は学校でDBの勉強をするのにOracle10gを使っているのですが家で練習するにあたりOracleを入れれないのでMySQL5.0をいれてみましたが若干勝手が違いいろいろ調べながらやってみたもののテーブル作成の際の制約の決め方などがうまく作れません。特に外部キーで悩んでいるのですがどうすればよいか教えていただきたいのです。 mysql>CREATE TABLE MEIBO( SEITO_NBR INT(5) PRIMARY KEY NOT NULL, SEITO_MEI VARCHAR(80) NOT NULL, SEIBETSU_KBN CHAR(1), TANJO_YMD DATE, GAKKA_CD VARCHAR(2), BIKOU_TXT VARCHAR(1000), INSERT_DATE DATE, UPDATE_DATE ); mysql>CREATE TABLE GAKKA( GAKKA_CD VARCHAR(2) PRIMARY KEY NOT NULL, GAKKA_MEI VARCHAR(80) NOT NULL ); ちなみに下の学科表は作成できました。が上の名簿がうまくできません。長くなりましたがよろしくお願いします。

  • Oracle8とOracle8iについて

    サーバーにOralce8(8.0.5 nt)とOracle8i(8.1.7nt)があり Oracle8の方のプログラムを作りたいのですが Oracle8iのpro*cしか持っていません このような場合oracle8用のpro*cを購入しないとだめでしょうか? (ライセンスとか・・・) Oralce8に接続するクライアントは今のままのバージョン(oracle8)を使用したいのですがOracle8クライアントのプログラムを8i用のpro*c8.1.7で作成できますか? (このときはやっぱりクライアントは8iじゃないとだめでしょうか?) 回答、よろしくお願いします

  • Oracle11gの接続について大至急教えて下さい

    WindowsServer2008R2(64bit)にOracle11g(64bit)のデータベースを構築し、 同機上のアプリケーションからアクセスしようとしています。 (具体的にはPro*C/C++を使ってプリコンパイルしているCで作成したDLLやEXEです。) これらのアプリケーションは元々Oracle10gの機能を用いて作成してあった物を流用している為、 Oracle11g(32bit)のクライアントがないと動作しない様です。 従って、2008Serverには32bit版の11gクライアントもインストールしました。 (Oracle11g(64bit)のメディアパック内の32bitクライアントディスクからインストール) (手順) 1:Oracle11g(64bit)ホストのインストール&データベースの構築 2:Oracle11g(32bit)クライアントのインストール 3:データベースに表領域とユーザを作成 4:クライアントでローカル・ネットサービス名の作成 で、ここまではできたのですが、 11g(32bit)クライアント側のSQL*Plusを起動して作成したユーザでログインしようとすると ORA-12560:TNS:プロトコル・アダプタ・エラーが発生しましたとなってしまいます。 ただ、コマンドプロンプトから「ユーザ/パスワード@接続文字列」を直接指定して SQL*Plusを起動するときちんと接続できます。 何か順番や方法を間違えているのでしょうか? ちょっと急いでいてなるべく早く解決させたいので、 間違い・チェックすべき事の漏れなど 直接的な解決策でない事でもかまいませんのでご教授下さい。