- ベストアンサー
VBのEXE間でパラメータを引き渡し、制御する方法(ただし別端末間)
こんにちは。 現在データベースSQLseverに、クライアント側のVB.EXEからデータ制御しています。 クライアント側より複数のアクセスがあるとレスポンスが悪いので。。 クライアント側では画面のみ。 サーバ側には制御のVBのEXEを置いて、 クライアント側からサーバ側のEXEを制御したいのですが・・・。 TCP/IPプロトコルを使用しないで制御する方法はありますか? (ActivxEXEを呼び出して制御する方法などはありますか?) 知識不足ですいません。よろしくお願いしますm(__)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>(ActivxEXEを呼び出して制御する方法などはありますか?) サーバにおいたActiveX EXEを、サーバ側で動作させるのがDCOMになります。 詳しくはMSDNなどを参照してください。
その他の回答 (2)
- -boya-
- ベストアンサー率35% (176/494)
なんにしてもクライアントからサーバへ、サーバからクライアントへ 通信をしないといけませんよね?TCP/IP以外のプロトコルで 通信を行う事が可能かもしれませんが、結局レスポンスは 変わらないと思います。 逆にサーバからクライアントに画面を送ったりする方が 通信に負荷をかけることになるので、通信が原因でレスポンスが 悪くなっているなら、逆効果だと思います。 レスポンスが悪いのは通信のせいではなく、サーバの処理に 時間がかかっているからなのではないでしょうか? SQLServerは詳しくないのですが、カスタマイズや サーバのスペックをあげる方が効果があると思います。 もしくはシステム構成をもう1階層増やしたり、VBのSQLを変えたり、 接続方法を変えたり、、、 以前、私がOracleのサーバでシステムを作ったときには、Oracleの カスタマイズだけではなく、クライアントに一部データを持ってきて サーバへのアクセスを減らしました。
補足
さっそくの回答ありがとうございます(*^-^*) やりたいことは1番の方のところにかいたような事です。 画面のEXE自体は、クライアント側に、 データーベース更新部分をサーバ側にし、 SQLserverとVB間での処理を早くできないかとのことなんです。 (説明不足ですいませんでしたm(__)m) 本来なら最初からストアドプロシージャーなどを使用していればよかったのですが・・・。 現状サーバー側で動いているソースをなるべく活用したいのです。 >システム構成をもう1階層増やしたり 知識不足で・・・良く解らないのですが 1階層増やすとはどのような処理ですか? >VBのSQLを変えたり、 1クライアントのみがデータ更新を行っている場合には 速度は問題無いので、SQL自体は大丈夫だと思います。 >接続方法を変えたり、、、 とは・・。具体的に言うとどのようにでしょうか・・・? 質問ばかりですいません^^; もしよろしければまたアドバイス下さいよろしくお願いしますm(__)m
- nitscape
- ベストアンサー率30% (275/909)
サーバー側の環境(OSやPCの接続方法(TCP/IP、RS-232C、USBなど))および使用方法(個人が一人で使うのか、不特定多数の人が使うのかなどのユーザーレベルとバッチ処理のように全自動の解決方法が必要なのか、手動操作を取り入れてもいいのかなど)が分からないためどのような手段まで取れるのかが分かりませんが... IISなどのウェブサーバが動いていればサーバーサイドCGI(ASPなど)を用いて操作する(これもある意味TCP/IPなのでNG?)。 PCをリモート操作するソフトを用いて操作する(これもTCP/IP)。
お礼
さっそく回答ありがとうございます。 実は詳しい事は私もわからないんです・・すいません。 話しを聞いて実現方法はないか調べろとのことなので。。 ただ使用する人は不特定多数のようです。 動作としては、クライアントでユーザーが画面を開き、 ある情報に対して確定のチェック(例えばチェックボックスにて) を行います。 それを実行ボタン(コマンドボタン)で実行したさいに サーバー側のデータベースに更新し、 更新し終わったら、最新の情報をクライアント側の画面に表示する ような動作を複数端末から一つのデーターベースに行う処理です。 ウエブサーバではなく社内LANです。。 現状、クライアント側で動いているソースをなるべく簡単にデータ更新部分だけサーバへもっていってあげれば、データの更新がサーバ内での動作になるのでレスポンスの改善につながるのではないか?というような発想です。 ストアドプロシージャーなどを使用してもよいのですが、これだと大幅修正になってしまうので、なるべく今のロジックをそのまま使用たいのです。。 もしよろしければまたアドバイス頂けたらと思います。 (TCP/IPがNGなわけではないのです。。ただWinSockコントロールなどをしようすると変更箇所が多いと言われ・・・。もっと簡単な方法はないか?という話しだったので・・・。知識がなくて^^;もっと簡単な方法があるのか・・・。それとも無いのかが知りたかったのです(^^))
お礼
ありがとうございます DCOMで出来そうかなと思います。 調べてみます!!!