C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: VBのDataEnvironment


(過去ログ 17 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■6521 / inTopicNo.1)  VBのDataEnvironment
  
□投稿者/ iwaiwa (29回)-(2007/08/16(Thu) 23:53:27)

分類:[VB6 以前] 

こんにちは。
最近、VB6.0でプログラムをしていて、ふと疑問に思ったことがありまして、
皆さんのご意見を聞きたいと思います。

VB6.0は、あまり詳しくないので、その辺はご容赦ください。

上記タイトルの件なのですが、プログラムで直接SQL文を記述することなく
DataEnvironmentを使用してデータの取得を行なうとします。

デバッグしていて気付いたのですが、この際に、アプリケーションの起動
している間、接続が常時Openになっていているみたいです。

ADO等を使用して直接SQL文をプログラムの中に書き込む方法だと、その都度、
接続したり閉じたり、といった手続きを記述することになると思うのですが、
その違いはあまり気にしなくて良いものなのでしょうか?

出来の悪いプログラムからのDBへのアクセスが集中するような環境だと、
負担になってしまうようなことはないのでしょうか?
引用返信 編集キー/
■6531 / inTopicNo.2)  Re[1]: VBのDataEnvironment
□投稿者/ まどか (355回)-(2007/08/17(Fri) 13:45:26)
#Data Environmentは未経験

> デバッグしていて気付いたのですが、この際に、アプリケーションの起動
> している間、接続が常時Openになっていているみたいです。

実際の生成コードを見たこと無いのであれですが、アプリケーションではなくフォームではないかと。
常時接続に関しては、生成されたコードが切断を元インスタンスの終了時?にのみおこなっているためと予想します。
#ADOは非接続型のオブジェクトではないはずなのでDataEnvironmentおよびその生成コードがそのような動きをしていると思います。

> ADO等を使用して直接SQL文をプログラムの中に書き込む方法だと、その都度、
> 接続したり閉じたり、といった手続きを記述することになると思うのですが、

一般的とは言えませんが、C/S全盛のころはConnectionを使いまわしているほうが多いのではないでしょうか。

> その違いはあまり気にしなくて良いものなのでしょうか?

常時接続か否かは「気にする、気にしない」ではなく、設計の話ですよね。
業務の性質(アクセス頻度、トランザクション、、、)により設計時にお決めになったはずです。

> 出来の悪いプログラムからのDBへのアクセスが集中するような環境だと、
> 負担になってしまうようなことはないのでしょうか?

「出来の悪いプログラム」が主体要因ではなく、負担をかけている原因は何か?から突き止めるものが結果です。
負担といってもいろんな要因がありますから、「集中」のみが原因ではありません。
DBのリソースを大量に消費したりDBエンジンを占有してしまったりするSQL文は「出来が悪い」と言えます。
引用返信 編集キー/
■6533 / inTopicNo.3)  Re[2]: VBのDataEnvironment
□投稿者/ 魔界の仮面弁士 (381回)-(2007/08/17(Fri) 14:40:14)
No6531 (まどか さん) に返信
>>デバッグしていて気付いたのですが、この際に、アプリケーションの起動
>>している間、接続が常時Openになっていているみたいです。
DataEnvironment の接続は、任意に Open/Close できますよ。

帳票ツール等にデータバインドしている場合などにおいては、バインド先のコンポーネントが、
データソース側の Recordset や Connection を自動的に Open/Close する場合もありますけれども。

> #ADOは非接続型のオブジェクトではないはずなので
いえ。ADO は n階層システムにも対応できるよう、非接続型/接続型の両方をサポートしています。
(永続化・再同期・バッチ更新などの機能を備えています)

接続型と非接続型のどちらを採用するかは、システム次第ですね。
たとえば、接続を維持するためのコストと、再接続にかかるコストの比較で判断されます。
この場合のコストとは、ネットワーク帯域・サーバ負荷・ライセンス形態・処理時間など、複数の意味を持ちます。

> C/S全盛のころはConnectionを使いまわしているほうが多いのではないでしょうか。
だと思います。少なくとも当方はそうでした。(^^;

まぁ、同時接続数が極端に多い(かつ、DBにアクセスする時間が短い)シナリオなどにおいては、
逐次切断が求められましたけれども。
引用返信 編集キー/
■6542 / inTopicNo.4)  Re[3]: VBのDataEnvironment
□投稿者/ まどか (356回)-(2007/08/17(Fri) 16:00:40)
No6533 (魔界の仮面弁士 さん) に返信
>>#ADOは非接続型のオブジェクトではないはずなので
> いえ。ADO は n階層システムにも対応できるよう、非接続型/接続型の両方をサポートしています。
> (永続化・再同期・バッチ更新などの機能を備えています)

ありゃま、適当なことを言ってしまったようで。。。m(_ _)m
#忘れてしまったり、思い出すのに四苦八苦してしまうほど時が経ったんだと思う今日この頃。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -