- - PR -
接続プーリングについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-13 20:01
こんにちは。
現在2階層のC/S形式でシステムを構築中です。 (クライアントから直接DBサーバーにアクセスする形式です) その際、DB接続のプーリング機能を利用し、I/Oパフォーマンスを 維持したいいと考えています。 3階層であれば、中間層のアプリケーションサーバー上でWebShere等が プーリング機能を持っている為、可能ですが、 今回みたく2階層の場合はどのように実現するのでしょう? DB(今回はUDB V7.2とORACLE 9I)のその機能が あるのでしょうか? | ||||||||||||
|
投稿日時: 2004-01-13 21:30
C/S2階層なら、プーリングは不要と思います。
クライアントの起動時にDBに接続して、その接続を クライアントの終了まで維持しておけばよいのでは? | ||||||||||||
|
投稿日時: 2004-01-14 08:29
DBの機能というより、DB接続に用いるデータプロバイダの機能になります。何をお使いの予定でしょうか。.NET Framework1.1に標準でついている、「OLE DB Provider」、「.NET Data Provider for Oracle」にはプーリング機能があります。Oracleより提供されている「Oracle Data Provider for .NET」にもプーリング機能がありますが、バグがあるとの報告があります(最新版では直っているかもしれません)。 | ||||||||||||
|
投稿日時: 2004-01-14 09:29
説明不足でした。
今回はNET Framework1.1を使用する予定です。(但し、既存のアプリケーション稼動環境がVB6が前提なので、NET Framework1.1を導入する事で、既存環境に影響があるのであれば、VB6に変えるかもしれません) 少し話は変わりますが、 NET Framework1.1とVB6のアプリ稼動環境は共存可能なのでしょうか? MicrosoftのHPを見ても明確な記述はなく、以下のQ&Aがある程度です これは開発環境であり、アプリ稼動環境と解釈していいのかが不明です。 ------------------------------------------------------------------------------- Q. Visual Basic .NET 2002、Visual Basic .NET 2003、および Visual Basic 6.0 のすべてを同じコンピュータにインストールすることはできますか。 A. はい。システム要件が満たされると、Visual Basic 6.0 を実行しているコン ピュータに Visual Basic .NET 2002および Visual Basic .NET 2003 をイン ストールして、3 つすべてを使用できます。どのような順番でインストー ルしてもかまいません。これはサポート対象でもあります。Visual Basic 6.0、 Visual Basic .NET 2002、およびVisual Basic .NET 2003 で作成されたデザイ ンタイム環境およびアプリケーションの両方が、同じコンピュータ上で並行して シームレスに実行されます。 Q. Visual Basic 6.0 および Visual Basic .NET 2003 を同じコンピュータ上で 使用できますか。 A. はい。システム要件が満たされると、Visual Basic 6.0 を実行しているコン ピュータに Visual Basic .NET 2003 をインストールして、両方を使用できます。Visual Basic 6.0、および Visual Basic .NET 2003 で作成されたデザ インタイム環境およびアプリケーションの両方が、同じコンピュータ上で並行 してシームレスに実行されます。 ------------------------------------------------------------------------------ で、話は元に戻りますが、今回対象とするシステムはユーザー端末が数1000台レベルであり、hatokuさんのいう常時接続では耐えられないと考えています。 また、JittaさんのNET Framework1.1の持っているプーリング機能は各クライアント側でプーリングする機能でしょうか? | ||||||||||||
|
投稿日時: 2004-01-14 11:26
BIGBIRDさん、こんにちは。
との事ですが、
とありますので、OKでしょう。当方の環境でも、問題は発生していません。 もちろん、どんな場合でも検証は必要でしょうけど。 #「シームレスに実行」というのが、どういう意味で使われているのかは良く判りませんが...。
2階層のシステム(クライアント - DB)なんですよね? プーリングするのは、Jittaさんの投稿にもあるとおりデータプロバイダの機能ですから、もちろん各クライアントになります。 .Net Framework のデータプロバイダでは、明示的にプーリングを無効にしなければ、有効期間内でセッションは維持されますので、「常時接続では耐えられない」システムなのであれば無効にする必要があります。 【追記】 必要がある、というか、無効にして、必要に応じて接続するようにすれば「耐えられるかも知れない」です。その場合、どの程度パフォーマンスに差が出るのかは、検証してみないと何とも言えませんが...。 取り敢えず接続プールの概要については「.NET Framework 開発者ガイド」-「ADO.NET でのデータ ソースへの接続」を参照してみて下さい。 [ メッセージ編集済み 編集者: きくちゃん 編集日時 2004-01-14 11:54 ] |
1