アプリ版:「スタンプのみでお礼する」機能のリリースについて

外部からアクセス可能なサーバーA(Linux+Apache+perl)とイントラネット用サーバーB(Windows2000+IIS+ASP.NET)があります。
1)サーバーA上にあるcgiから、サーバーBにあるデータベースのデータを読み込み。
2)サーバーBのASP.NETのプログラムからサーバーAのデータを読み書き。

この2点について可能でしょうか。可能だとしたら、どのような手法で実現できるかアドバイスいただけないでしょうか。
1)についてはなんとなくsocketを使って、サーバーBのデータ吐き出し用のASP.NETのプログラムを呼べばいいのかなと思うのですが、それで正しいでしょうか。

表現がかなり拙いかとは思いますが、どうぞよろしくお願いいたします。

A 回答 (3件)

#1です。



両方データベースなら普通に読み書きできるでしょう。
ASP.NET -> MySQLはMyODBCを使ってODBC接続で充分でしょう。
Perl -> SQLServerは以下のURLが参考になると思います。
http://www.augustus.to/blog/3128/archives/000046 …

>その入力データをとりあえずAのDBに保存しておいて
ここでAのDBに保存しておく理由は何でしょう?要/不要がわかっているのならAから直接BのDBに書き込めばいいのでは?

とりあえず、公開サーバと内部サーバを通信させるにはファイアウォールの設定(DBで通信するための穴を開ける)すれば大丈夫でしょう。
    • good
    • 0
この回答へのお礼

データはサーバBで管理することになりました。
教えていただいたURL、大変参考になりました。
ありがとうございました。

お礼日時:2005/02/24 21:46

Bonjinさんの回答通り出来ますが、Orange-LLさんの説明では、アパッチとかIISを介入させる理由が全く有りません。



HTTPのプロトコルを利用して、ブラウザでデータを入力させるフォームを表示させ、DBに入力前にブラウザでチェックするcgiやASPを作るとかという理由なら判るのですが、この説明でアパッチやIISを使うと行っても、クライアントは全く納得しないと思います。

この回答への補足

サーバーを2つに分けるのは、クライアントからの要求なのです。サーバーA・Bはすでに構築されているものです。
Aからやりたいことは、外部PCのブラウザでデータを入力させるときに、Bのマスターデータベースから一部のデータをひっぱって選択させたいのと、その入力データをとりあえずAのDBに保存しておいて、イントラネットでBにつながっているマシンから必要なものをAのDBからBのDBに移動したいのです。
よろしくお願いします。

補足日時:2005/02/24 09:32
    • good
    • 0

結論から言えば両方可能です。



1はPerlのデータベースモジュールを使って接続すればいいのでは?データベースとアプリケーション(CGI)の間にアプリケーション(ASP.NET)を挟むなんていう恐ろしいことは考えない方がいいですよ。
データベースにアクセスするには、たいていの言語でモジュールなりライブラリが用意されています。

2はA上のファイルをNFSで公開し、BにNFSクライアントを入れればできそうですね。またはFTPによるダウンロードとアップロードで実現。

ちなみになぜAとBが相互的にデータを参照しているのでしょうか? AにあるデータとBにあるデータベースの内容が互いに影響あるものならばデータの整合性が保てないと思うのですが? どちらにしろ根本的に問題がありそうな記がします。

この回答への補足

ご回答ありがとうございます。
A上のファイルとあるのですが、データベースはファイルではもっていないのです。ちなみにAのデータベースはmysql、BはMicrosoft SQL Server 2000です。

サーバーBをイントラネットではなく公開できればBで一括管理できて良いのですが、関係者がそれを拒否していまして、でもBにあるマスターデータをAから読みたいという希望があるのです。問題はデータの漏洩とかなりすましアクセス?だと思うので、このあたりがクリアできればいいのですが。

補足日時:2005/02/24 09:10
    • good
    • 0

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