- ベストアンサー
UNIXマシンから他UNIXマシンのDB参照
Java開発で2台のUNIXマシンがあり、両方DBが構築されているのですが、お互いのマシンからJava.exeで実行させたプログラムが相手先のDBを参照するにはどんな設定が必要ですか??
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
stingさんの質問内容から、環境も状況もよくわからないので、いろいろなことが推測できるので、gimmickさんのコメントのように回答することは難しいです。jdbcでおこなっているのであれば、現在行っているようにdbサーバのあて先を、とりあえず相手先の名前(アドレス)に指定しなおして接続するだけでどこかに何か設定するということはないと思います。(まあ2台のマシンのアプリでそれぞれでのDBをあて先としてハードコーディングしているのであれば、全部そこを書き換える必要はでてきますが。。。) おそらくアプリケーションは開発中ということなので、2台のUNIXマシンにそれぞれ同じ定義内容のDB(各々のテーブル)を定義しており、何かのテストが必要なときに相手のDBに定義されたテーブルデータを参照しテストしたいのだと予想するのですが。。(制約やシーケンスの不一致から、データのマージに手間がかかるので私もちょっとだけDbの内容を別マシンに切り替えたいということはたまにあるので。。) または、質問内容から可能性は低い気はしますが、2つのマシンは全く違うDB,テーブル内容を持っており、2つのマシンのうちの1つはある処理のタイミングでもう一つのマシンのDBのデータを見に行く?ということも考えられますが、それであれば、その処理を行うことは決まっているわけですから、その相手先のマシンとDBを指すように決めうちでコーディングするだけだと思います。 プログラム内にコーディング済み(以下のような感じですかね)なら、"hosturl:dbportno/dbname","user","pass"の部分を変数にして、処理タイミングで値をいれれば、DB接続に関するコーディングが接続先や接続DBに影響を受けないようのでいいかと思います。 Class.forName("org.??db??.Driver"); Connection conn = DriverManager.getConnection( "jdbc:????://hosturl:dbportno/dbname","user","pass"); stmt = conn.createStatement(); あと、利用しているDBの種類によっては、リモートのコンピュータから接続を許す、許さないという設定が必要です。 (例えばPostgreSQLはhba.confというアクセス設定ファイルがあり、初期設定ではで接続許可されたコンピュータはlocalhostのみで他のコンピュータからの接続を許す場合、その設定が必要です。ただjavaに限ったことではなくなりますが。) 私もよく状況がわかりませんので、的外れかもしれません。
その他の回答 (1)
- gimmick
- ベストアンサー率49% (134/270)
普通にJDBCで接続したらよいのでは? UNIXマシンだろうとDBがリモートであろうと、Javaとして特別な設定は必要ないと思いますが。 何かわからない点があって困っているのだったら、不明な点および環境を具体的に書いてください。 この質問だと誰もまともに回答できないので。