(57)【要約】【課題】データを要求するアプリケーションを実行する計算機にデータの存在先の情報を持たせることなく、アプリケーションから複数のデータベースのデータ検索を行えるようにした複数データベース自動検索装置を得る。【解決手段】クライアント側計算機１１のアプリケーション１からのデータ検索要求を受けて、複数のデータベース５〜８のうちのデータが存在するデータベースを特定し、この特定したデータベースに対して、データ検索を実行するデータベース自動検索ソフトウェア２が計算機１０上で動作し、データの格納先データベースを記録した「データ存在先一覧」ファイル４と、データベースへの接続情報を格納した「接続データベース一覧」ファイル３とを参照してデータ検索を実行する。【選択図】図１
2014013468.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータベースのうち、検索対象のデータが存在するデータベースを特定し、上記データの検索を行う複数データベース自動検索装置であって、
第一の計算機上で動作し、ユーザの指示により、データの検索要求を行うアプリケーション、
第二の計算機上に形成され、データが存在するデータベースを記録したデータ存在先一覧ファイル、
上記第二の計算機上に形成され、上記各データベースへの接続情報を保持する接続データベース一覧ファイル、
及び第二の計算機上で動作し、上記データ存在先一覧ファイルを参照して、上記複数のデータベースのうち、上記アプリケーションから要求されたデータが存在するデータベースを特定し、上記接続データベース一覧ファイルを参照して、上記特定したデータベースへの接続情報を取得して、当該データベースに対し、上記データの検索を実行するデータベース自動検索ソフトウェアを備えたことを特徴とする複数データベース自動検索装置。
【請求項２】
上記データ存在先一覧ファイルをユーザが編集するための第一のインターフェースを備えたことを特徴とする請求項１記載の複数データベース自動検索装置。
【請求項３】
上記接続データベース一覧ファイルをユーザが編集するための第二のインターフェースを備えたことを特徴とする請求項１または請求項２記載の複数データベース自動検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の異なるデータベースの中から検索対象のデータが存在するデータベースを自動検索する複数データベース自動検索装置に関するものである。
【背景技術】
【０００２】
従来のデータベース自動検索装置においては、データの存在先の記録を、データベースの存在する計算機上ではなく、アプリケーションを動作させる計算機に保持している。（例えば、特許文献１参照）
また、データの存在先の記録を、データベースの存在する計算機上の別テーブルに記録している。（例えば、特許文献２、３参照）
また、自動検索するデータベース製品が一製品のみに限定されており、そのデータベース製品に複数存在するテーブルの中から自動検索をする。（例えば、特許文献２、３参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−６２１６７号公報（第３〜４頁、図１）
【特許文献２】特開平４−２０５１７１号公報（第４〜７頁、図１）
【特許文献３】特開平１１−２０３２９４号公報（第７〜９頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータベース自動検索装置は、以上のように構成されているので、データの存在先の記録を、アプリケーションを動作させる計算機に保持している場合には、データベース操作が必要なアプリケーションを動作させる計算機のソフトウェア構成・ハードウェア構成が変更される度に、データベース自動検索用の設定ファイルをアプリケーションを動作させる計算機に導入する必要がある。
また、自動検索先の設定情報をデータベース上のテーブルに保持する場合、データベース製品そのものが変更された場合には、データベース製品と装置そのものを変更する必要があるなどの問題があった。
また、自動検索するデータベース製品が一製品のみに限定される場合には、検索対象のデータが複数のデータベース製品に分散して存在する場合に、動作できないという問題があった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、データを要求するアプリケーションを実行する計算機にデータの存在先の情報を持たせることなく、アプリケーションから複数のデータベースのデータ検索を行えるようにした複数データベース自動検索装置を得ることを目的にする。
【課題を解決するための手段】
【０００６】
この発明に係わる複数データベース自動検索装置においては、複数のデータベースのうち、検索対象のデータが存在するデータベースを特定し、データの検索を行う複数データベース自動検索装置であって、第一の計算機上で動作し、ユーザの指示により、データの検索要求を行うアプリケーション、第二の計算機上に形成され、データが存在するデータベースを記録したデータ存在先一覧ファイル、第二の計算機上に形成され、各データベースへの接続情報を保持する接続データベース一覧ファイル、及び第二の計算機上で動作し、データ存在先一覧ファイルを参照して、複数のデータベースのうち、アプリケーションから要求されたデータが存在するデータベースを特定し、接続データベース一覧ファイルを参照して、特定したデータベースへの接続情報を取得して、当該データベースに対し、データの検索を実行するデータベース自動検索ソフトウェアを備えたものである。
【発明の効果】
【０００７】
この発明によれば、複数のデータベースのうち、検索対象のデータが存在するデータベースを特定し、データの検索を行う複数データベース自動検索装置であって、第一の計算機上で動作し、ユーザの指示により、データの検索要求を行うアプリケーション、第二の計算機上に形成され、データが存在するデータベースを記録したデータ存在先一覧ファイル、第二の計算機上に形成され、各データベースへの接続情報を保持する接続データベース一覧ファイル、及び第二の計算機上で動作し、データ存在先一覧ファイルを参照して、複数のデータベースのうち、アプリケーションから要求されたデータが存在するデータベースを特定し、接続データベース一覧ファイルを参照して、特定したデータベースへの接続情報を取得して、当該データベースに対し、データの検索を実行するデータベース自動検索ソフトウェアを備えたので、データを要求するアプリケーションを実行する計算機にデータの存在先の情報を持たせることなく、自動的に複数のデータベースのデータ検索を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１による複数データベース自動検索装置を示す構成図である。
【図２】この発明の実施の形態１による複数データベース自動検索装置の接続データベース一覧ファイルの例を示す図である。
【図３】この発明の実施の形態１による複数データベース自動検索装置のデータ存在先一覧ファイルの例を示す図である。
【図４】この発明の実施の形態１による複数データベース自動検索装置のソフトウェアがデータベースに対してデータ参照動作を示すフローチャートである。
【図５】この発明の実施の形態１による複数データベース自動検索装置のソフトウェアがデータベースに対してデータ更新動作を示すフローチャートである。
【図６】この発明の実施の形態２による複数データベース自動検索装置を示す構成図である。
【図７】この発明の実施の形態３による複数データベース自動検索装置を示す構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１による複数データベース自動検索装置を示す構成図である。
図１において、本発明によるデータベース自動検索ソフトウェア２は、本ソフトウェアを動作させるための計算機１０（第二の計算機）上に構築され、データベース５、６、７、８を自動検索する。アプリケーション１は、本アプリケーションを動作させるためのクライアント側計算機１１（第一の計算機）上に構築され、データベース自動検索ソフトウェア２とデータを送受信する。
「接続データベース一覧」ファイル３は、データベース自動検索ソフトウェア２の構築時に予め設定しておいた、接続先候補となるデータベースへの接続に必要な情報の一覧を保持する。「データ存在先一覧」ファイル４は、アプリケーション１が要求するテーブル名、カラム名のセットが、過去にデータベース自動検索ソフトウェア２経由でアクセスした場合に、データの存在先のデータベースを記録する。
データベース５はテーブルＡ、Ｂを、データベース６はテーブルＣを、データベース７はテーブルＤを、データベース８は、テーブルＥ、Ｆ、Ｇを有している。
ＳＱＬ文９は、アプリケーション１から、データベース自動検索ソフトウェア２に渡される、標準のデータベース問い合わせ言語であるＳＱＬ文の一例である。
【００１０】
データベース自動検索ソフトウェア２は、データベースへの接続・操作を要求するアプリケーション１から、テーブル名、カラム名等を含む、標準のデータベース問い合わせ言語であるＳＱＬ文９によって呼び出され、「接続データベース一覧」ファイル３と、「データ存在先一覧」ファイル４の情報を読み込み、データの存在先データベースを自動検索して該当するデータベースへアクセスする。
【００１１】
図２は、この発明の実施の形態１による複数データベース自動検索装置の接続データベース一覧ファイルの例を示す図である。
図２において、「接続データベース一覧」ファイル３は、データベースごとに、接続先ＩＰアドレスと、ＤＢインスタンス名と、ＤＢ接続ＩＤと、ＤＢ接続パスワードを格納している。
【００１２】
図３は、この発明の実施の形態１による複数データベース自動検索装置のデータ存在先一覧ファイルの例を示す図である。
図３において、「データ存在先一覧」ファイル４は、データごとに、当該データが格納されたテーブル名と、カラム名と、格納先データベース番号が格納されている。
【００１３】
次に、図４を用いて、データ参照動作について説明する。
データベースへのアクセスを行うアプリケーション１から、データベースへの操作内容を表す、標準のデータベース問い合わせ言語であるＳＱＬ文９を、データベース自動検索ソフトウェア２に渡される（Ｓ１）。データベース自動検索ソフトウェア２は、標準のデータベース問い合わせ言語であるＳＱＬ文９からテーブル名、カラム名を表すセットを１つずつ取り出し、各セットについて、Ｓ３〜Ｓ１３の処理を実行する（Ｓ２）。
【００１４】
取り出したテーブル名・カラム名のセットが、予め本システムの管理者・設計者が設定した「データ存在先一覧」ファイル４に存在するかどうかを確認する（Ｓ３、Ｓ４）。
存在する場合、「データ存在先一覧」ファイル４の該当情報における「データベースＮｏ．（図３）」を取り出し、「接続データベース一覧」ファイル３の「データベースＮｏ．（図２）」に対応するデータベースの接続情報を、接続先データベースとして設定する（Ｓ５）。
存在しない場合、「接続データベース一覧」ファイル３の各データベースに総当りに接続・検索を行い、該当テーブル名・カラム名のセットが存在するかどうかを確認し（Ｓ６、Ｓ７）、存在する場合は、複数のデータベースに同一テーブル名・カラム名のセットが存在していればカウントを行う（Ｓ９）。テーブル名・カラム名のセットが存在しなければアプリケーション１にエラーを返して終了する（Ｓ８）。
【００１５】
次いで、該当テーブル名・カラム名のセットが存在するデータベースが１つかどうかを確認し（Ｓ９、Ｓ１０）、１つの場合には、テーブル名・カラム名のセットが存在するデータベースを、接続先データベースとして設定し、「データ存在先一覧」ファイル４に情報を保存する（Ｓ１１−１）。
複数のデータベースに同一テーブル名・カラム名のセットが存在する場合、該当データの更新時刻を比較し、最も新しいデータが存在するデータベースを、接続先データベースとして設定し、「データ存在先一覧」ファイル４に情報を保存する（Ｓ１２−１）。これにより、データの参照動作時は、採集更新日時の最も新しいデータを参照する。
【００１６】
接続先データベースが設定された後、データベース自動検索ソフトウェア２は設定されたデータベースへ接続する。全てのテーブル名・カラム名のセットへの接続が可能になった時点で、標準のデータベース問い合わせ言語であるＳＱＬ文９の実行を各データベースに対して行い、実行結果を得る（Ｓ１３）。
この際、実行結果が何らかの原因でエラーである場合は、呼び出し元アプリケーション１にＳＱＬ文９の異常終了エラーを返して終了する（Ｓ１４、Ｓ１５）。正常に、標準のデータベース問い合わせ言語であるＳＱＬの実行結果が得られた場合、呼び出し元アプリケーション１に実行結果を返し、終了する（Ｓ１６）。
【００１７】
次に、図５を用いてデータ更新動作について説明する。
Ｓ１〜Ｓ１０、Ｓ１３〜Ｓ１６は図４におけるものと同一の処理であり、その説明を省略する。
データの更新・削除時には、テーブル名・カラム名のセットが存在するデータベースが１つの場合（Ｓ１０）、テーブル名・カラム名のセットが存在するデータベースを接続先データベースとして設定する（Ｓ１１−２）。
テーブル名・カラム名のセットが存在するデータベースが１つでなければ（Ｓ１０）、データの更新・削除時は、全てのデータベースに対して同一の操作を行う（Ｓ１２−２）。すなわち、データの存在する各データベースを接続先として設定し、「データ存在先一覧」ファイル４に更新・削除の情報を保存する。
【００１８】
Ｓ１２−１、Ｓ１２−２の動作により、データの一部がシステムの再構築・移行時に整合性を保つような操作が行われていない場合にも正常な動作をし続けることができる。
テーブル名・カラム名のセットが存在する場合、接続情報を「データ存在先一覧」ファイル４に保存し、次回以降の接続時に総当り検索を行わなくて済むように学習させる（Ｓ１１−１、Ｓ１１−２、Ｓ１２−１、Ｓ１２−２）。
【００１９】
接続先データベースが設定された後、データベース自動検索ソフトウェア２は設定されたデータベースへ接続する。全てのテーブル名・カラム名のセットへの接続が可能になった時点で、標準のデータベース問い合わせ言語であるＳＱＬ文９の実行を各データベースから行い、実行結果を得る（Ｓ１３）。
この際、実行結果が何らかの原因でエラーである場合は、呼び出し元アプリケーション１に異常終了エラーを返して終了する（Ｓ１４、Ｓ１５）。正常に、標準のデータベース問い合わせ言語であるＳＱＬの実行結果が得られた場合、呼び出し元アプリケーション１に実行結果を返し、終了する（Ｓ１６）。
【００２０】
実施の形態１によれば、データを要求するアプリケーションを実行する計算機にデータの存在先データベースの情報を導入せずに、データベースの自動検索ができるとともに、システムが使用するデータベースが変更された場合でも「接続データベース一覧」ファイルのみを更新することで対応でき、自動検索の対象であるデータベースが複数存在する場合にも自動検索を行うことができる。
また、データの更新、削除時に全てのデータベースに対して同一の操作を行うので、データの一部がシステムの再構築・移行時に整合性を保つような操作が行われていない場合にも正常な動作を行うことができる。
【００２１】
実施の形態２．
図６は、この発明の実施の形態２による複数データベース自動検索装置を示す構成図である。
図６において、１〜１１は図１におけるものと同一のものである。インターフェース１２（第一のインターフェース）は、「データ存在先一覧」ファイル４を利用者が編集するためのものである。
【００２２】
実施の形態１では、「データ存在先一覧」ファイル４は、データベース自動検索ソフトウェア２を使用する中で自動的に情報が更新される（図４及び図５のＳ１１−１、Ｓ１１−２、Ｓ１２−１、Ｓ１２−２）が、実施の形態２は、図６に示すように、予めデータベース自動検索ソフトウェア２を使用するシステム管理者や設計者がテーブル名・カラム名のセットを手動登録しておくインターフェース１２（インターフェース１２は、アプリケーション、ＷＥＢアプリケーションなど形態は問わないものとする）を設けた。
これにより、複数のデータベースに同一のテーブル名・カラム名のセットが存在する場合に、接続するデータベースを一つに絞り込んだ上でデータベース自動検索ソフトウェア２を動作させることができる。
【００２３】
実施の形態２によれば、「データ存在先一覧」ファイルを編集するインターフェースを設け、テーブル名・カラム名のセットを手動登録できるようにしたので、複数のデータベースに同一のテーブル名・カラム名のセットが存在する場合にも、接続するデータベースを一つに絞り込んだ上でデータベース自動検索ソフトウェアを動作させることができる。
【００２４】
実施の形態３．
図７は、この発明の実施の形態３による複数データベース自動検索装置を示す構成図である。
図７において、１〜１１は図１におけるものと同一のものである。インターフェース１３（第二のインターフェース）は、「接続データベース一覧」ファイル３を利用者が編集するためのものである。
【００２５】
実施の形態１では、「接続データベース一覧」ファイル３は、システム運用を行う前に管理者・設計者が予め設定しておく必要があったが、実施の形態３は、図７に示すように、本システムを利用するサービスの提供者に対して、データベース自動検索ソフトウェア２から問い合わせを行うとともにサービスの提供者により「接続データベース一覧」ファイル３の編集を行わせるためのインターフェース１３（インターフェースは、アプリケーション、ＷＥＢアプリケーションなど形態は問わないものとする）を設けた。
このインターフェース１３を用いて、サービス提供者が、システム運用中、一部のデータベースが停止する場合などに、必要に応じて接続するデータベースを容易かつ迅速に制限することができる。
【００２６】
実施の形態３によれば、本システムを利用するサービスの提供者に対して、データベース自動検索ソフトウェアから問い合わせを行い、サービスの提供者が「接続データベース一覧」ファイルを編集するためのインターフェースを設けたので、サービス提供者がシステム運用中、一部のデータベースが停止する場合などに、必要に応じて接続するデータベースを容易かつ迅速に制限することができる。
すなわち、使用するデータベース、接続先ＩＰアドレスが変更された際に、「接続データベース一覧」ファイルを変更するだけで、アプリケーションやデータベースに対する変更を行うことなく、対応することができる。
【００２７】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００２８】
１  アプリケーション
２  データベース自動検索ソフトウェア
３  「接続データベース一覧」ファイル
４  「データ存在先一覧」ファイル
５  データベース
６  データベース
７  データベース
８  データベース
９  ＳＱＬ文
１０  計算機
１１  クライアント側計算機
【図１】
2014013468.tif 000003
【図２】
2014013468.tif 000004
【図３】
2014013468.tif 000005
【図４】
2014013468.tif 000006
【図５】
2014013468.tif 000007
【図６】
2014013468.tif 000008
【図７】
2014013468.tif 000009