• 締切済み

データベースオブジェクトを複数用意する

.net c# で開発をしています。 データベースにアクセスする為にOracleOleDbを使用しているのですが、同じデータベースをアクセスするのに複数のインスタンスを作成しているのですが、こんなことって意味あるのでしょうか? プログラム内ではメソッド毎にそのオブジェクトを使い分けています。 ちなみにカスタマイズなので前回製造者がどういう意図があってそういった思想になったか明らかではありません。 以上、ご教授よろしく御願いします。

  • 3java
  • お礼率25% (4/16)

みんなの回答

noname#259269
noname#259269
回答No.2

Connection オブジェクトを複数同時に使っているという事でしょうか。 あるメソッドでコネクションをはったまま別メソッドで別コネクションをはっていて、かつその必要性がないのであれば、設計ミスですね。 そうではなく、一度に開いている Connection がひとつなのであれば、OleDb のリソースプーリングを意識している可能性もあります。 http://msdn.microsoft.com/ja-jp/library/cc407917.aspx

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.1

ソースを見てみないとはっきりとは分からないのですが、同じデータベースとなっていますが、テーブルも同じものという事でしょうか? 私がこれまでに読んできた本などでの指針としては、コネクションに関しては、有限なリソースなので必要な時の直前に取得し、使用し終わったら直ちに解放することがシステムに悪影響を及ぼさないという事のようです。 他のものについては、例えばDataAdapter関連であれば、クラスメンバに保存しておき、SelectCommandなどが違うのであれば、メソッドなりで適宜書き換えて、使いまわすという事はありではないかなと思います。

関連するQ&A

  • データベースオブジェクトの考え方がわからない

    DBの勉強を始めたばかりで概念的にわからないことがありましたので、ご教授ください。 "データベースオブジェクト"という言葉についてです。 参考書を見ると、「表やビュー表などの、データベースで扱われるオブジェクトのこと」とあります。 このオブジェクトは表でいうとどの部分をさしているのでしょうか? #インスタンスというのもこのオブジェクトに含まれるという認識でしょうか。。 又、扱われるオブジェクトの種類は、データベースの種類により異なるとあるのですが、 例えば、OracleとPostgresSQLではどのような点が違うのでしょうか?

  • クラス、オブジェクト、インスタンス、メソッドについて。

    クラス、オブジェクト、インスタンス、メソッドに ついて教えていただけないでしょうか? 今現在の自分の認識では、乗り物を例にすると、 「乗り物」という大枠がクラス。それを、たとえば 飛行機なり電車なり船なり、より具体的にした ものがインスタンス=オブジェクト。 その具体化したものの挙動、動作(走るとか飛ぶとか) がメソッド、という理解です。 ただ、これだとオブジェクトとインスタンスを 同じものとして見てしまっているので、この2つの 違いを明確に説明しろと言われると困ってしまいます。 インスタンスとオブジェクトの違いを明確にした上で うまく伝えられる方法があれば、ご教授ください。

  • ACCESSで、簡単なカード型データベース

    ACCESSで、簡単なカード型データベース  WindowsXPのもとで、  ACCESS2002  を動かしているのです。  何とか使いこなせるように四苦八苦しているのですが、なかなかマスターできません。  ACCESSには、作成するサンプル練習問題が作ってあってこの順序通りを入力すれば、データベースを作れるようになっています。  しかし、この入力が何を意味して、どのような意図で、この入力をしているのか分かりにくく、途中で入力をあきらめてしまうか、中断してしまいます。  意味が理解できず、また、言葉が理解できないです。  できる人には、まだ、努力が足りないの一言ですが、作りたいのは、練習問題のような複雑なデータベースではなく、ひとつのデータベースのみの 簡単なカード型データベース を作りたいのです。  もともと、ACCESSが、カード型データベースを意図したものでなく、 リレーショナルデータベース を意図して作成されているので、どうしても、練習問題も、複数のデータベースとの関係を関係付ける説明になります。いろいろの複数のデータベースを関連付けることができます関連付けのいろいろな機能を使用できます。  となります。  簡単なひとつのデータベースのみの 簡単なカード型データベース の作り方がホームページに解説があれば、初心者には、これをなぞればよく、導入しやすい便利だと考えるしだいです。  作るうえで、何か要領がありましたら、よろしく教授方お願いします。  敬具

  • インスタンスとオブジェクト

    こんばんは。 変数について教えて下さい。 プログラム自体が初めてなので 「たのしい Ruby 第3版」を読んでいます。 ずっとインスタンスとオブジェクトの違いが曖昧なままです。 その本の「クラスとモジュール」という章にて クラスを定義する構文。 インスタンス変数とローカル変数の違いですが、 以下の説明で一部理解できずにつまずいています。 ―――――――――――― @ で始まる変数は インスタンス変数 といいます。 ローカル変数はメソッドごとに異なる変数として扱われますが、 インスタンス変数は同じインスタンス内であれば、 メソッド定義を超えてその値を参照したり、変更したりできます。 なお、初期化されていないインスタンス変数を参照すると nil が得られます。 インスタンス変数は、インスタンスごとに違う値を持つことができます。 またインスタンス変数は、 インスタンスがある間は値を保持しておいて 何度でも利用することができます。 一方、ローカル変数はメソッド呼び出しごとに新しく割り当てられるため、 メソッドから抜けると値を忘れてしまいます。 ―――――――――――― ここで分からないのは、 ・ローカル変数が "メソッドごと" に異なる変数として扱われる ・インスタンス変数は同じ "インスタンス内" であれば、 メソッド定義を超えてその値を参照したり、変更したりできます の部分です。 Webで検索してますが、 プログラミング経験ありを前提で書かれているような。 他の言語も知らないので分からない、そんなページが多いです。 人に聞くからには 自分でも頑張って理解できるように考えますので、 どうか回答よろしくお願いします。

    • ベストアンサー
    • Ruby
  • php インスタンスとオブジェクトの呼び方

    new obj = new Test(); という一文は、 「Testクラスのオブジェクト、objを作成している」という考えを持っています。 オブジェクトは物という概念で、 「Testクラス を new して、objインスタンスを作成している」 というのが正しいのでしょうか? 【objを Testオブジェクトと呼ぶのは間違っているのでしょうか? objは Testインスタンスと呼ぶのがやはり正しいのでしょうか?】 知り合いにも、インスタンスではなくオブジェクトと呼んでる人が多いのでわからなくなってきました。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • 初心者のWebデータベース作成

    Webデータベースを作成したいのですが、プログラミングの経験もなく、また巨額のプログラム開発費用を負担する費用もありません。当初は基本的なデータベースを考えており、既存のソフトなどのパッケージをカスタマイズして使うか、安価なアプリケーション・サービス・プロバイダーを使いたいと思っているのですが、よいパッケージ、ASPを教えてください。

  • ラッパークラスのオブジェクト作成について教えてください。

    ラッパークラスのオブジェクト作成について教えてください。 ラッパークラスのオブジェクト作成には ・new演算子を使ってインスタンス化する方法 ・ラッパークラスのstaticメソッドを呼び出す方法 の2つの方法があると書籍に書いてありました。(SJC-Pのテキストです) では Integer i = 1000; のような記述はどうでしょうか? Integerはintのラッパークラスと思うのですが、iはインスタンスじゃないという事でしょうか?

    • ベストアンサー
    • Java
  • 連結、非連結のデータベースについて

    現在、趣味でデータベース開発をしており ACCESS単体で作成する場合は連結←非連結での作り方が分からない為(苦笑) VB+ACCESSで作成する場合は非連結 という方法で作成しています。 一般的な業界のデータベースの開発現場では、非連結によりデータベース作成が基本なのでしょうか?? 開発に取り掛かるに当たって、連結or非連結はどの様な観点で選ばれるのでしょうか? また、初心者の理解として、 連結→直テーブル更新される 非連結→画面上のデータを『登録』等のボタン押下後に登録と認識しておりますが、 この点につきましても間違いがございましたら、ご教授下さいませ。

  • VB6.0同一プログラム上で複数のExcelファイルの編集をしたいのですが…

    目にとめていただき有難うございます。 VBについては初心者です。宜しくお願い致します。 VB6.0で、フォーム上で指定した2つのExcelファイルについて、それぞれ特定の行・列を削除してCSVとして保存、そのデータを使って処理を行うプログラムを作成しようとしています。 同じVB6.0のプログラム上で、複数のExcelファイルに対して編集をかけることは可能でしょうか。 プログラムの流れとしては (1)エクセルオブジェクトの新しいインスタンスを作成 (2)エクセルファイル1を開き、特定行を削除する (3)エクセルファイル1をCSVとして保存、閉じる (4)オブジェクトを解放する (5)エクセルオブジェクトの新しいインスタンスを作成 (6)エクセルファイル2を開き、特定行を削除する (7)エクセルファイル2をCSVとして保存する (8)オブジェクトを解放する というものです。 (1)~(4)と(5)~(8)は同じSubプロシージャでファイルのパスだけ変えるようにしています。 (1)~(5)迄は素直に行くのですが、(6)の削除行を指定する段階で ‘Rows’メソッドは失敗しました’_Global’オブジェクト と出てしまう状態です。 (1)~(4)は問題なく動き、ファイル1の編集もきちんと出来ているため、混乱しております。 同じコードでパスだけ変えてやろうという考えが無理な話なのか、コードの組み方が悪いのか… 質問で不明瞭点があれば説明させて頂きますのでご指摘下さい。 宜しくお願い致します。 #ソースまで出した方が良かったのでしょうか…

  • データベースに格納時

    はじめまして、JAVAの勉強を始めて1ヶ月ほどの ひよっこですがご教授お願いします。 MYSQLとJAVAで、簡単な社員管理のサーブレットを 作成しています。それで、データベースの情報を 操作時に、複数のクライアントから同時に リクエストされても、エラーが起こらないように したいのですが、データを削除、追加、削除を行う メソッドを、 public static synchronized メソッド名(引数) としておけば大丈夫でしょうか? よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう