(57)【要約】【課題】クライアントに実装されているアプリケーションプログラムを修正しなくても、当該クライアントがデータベースにアクセスする際のクエリ文字列の書換えができるようにする。【解決手段】クエリ生成サーバ２は、クエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述された複数のクエリ文字列をクエリ記憶部６で記憶する。クライアント３から、クエリ識別情報とデータの検索に必要なパラメータとを受信すると、クエリ記憶部６から該当するクエリ文字列を取得し、この取得したクエリ文字列に記述されている変数名をパラメータに置換してデータベースクエリを生成する。生成されたデータベースクエリをデータベースサーバ１に実行させる。【選択図】      図１
2011118545.tif 000002
【特許請求の範囲】
【請求項１】
データベースへの問合せを実行するためのデータベースクエリを識別するクエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述されたクエリ文字列を記憶するクエリ記憶部と、
ネットワーク接続されたクライアントから、前記データベースクエリを特定するクエリ識別情報とデータの検索に必要なパラメータとを受信する受信手段と、
この受信手段により受信した前記クエリ識別情報に関連付けられた前記クエリ文字列を前記クエリ記憶部から取得し、この取得したクエリ文字列に記述されている変数名を前記受信手段により受信したパラメータに置換してデータベースクエリを生成するクエリ生成手段と、
このクエリ生成手段により生成されたデータベースクエリを前記データベースの管理システムに実行させるクエリ処理手段と、
を具備したことを特徴とするクエリ生成装置。
【請求項２】
前記受信手段が前記クライアントから受信するパラメータには、置換対象の変数名が関連付けられており、
前記クエリ生成手段は、前記クエリ記憶部から取得したクエリ文字列に記述されている変数名を、前記受信手段により受信したパラメータのうち同一変数名に関連付けられたパラメータに置換することを特徴とする請求項１記載のクエリ生成装置。
【請求項３】
前記データベースの管理システムから前記データベースクエリの実行結果を取得する実行結果取得手段と、
この実行結果取得手段により取得した実行結果を示す情報を前記クライアントに送信する結果応答手段と、
をさらに具備したことを特徴とする請求項１または２記載のクエリ生成装置。
【請求項４】
データベースへの問合せが発生し得るアプリケーションプログラムを実行するクライアントと、前記クライアントをネットワーク接続してなるクエリ生成サーバとを備え、
前記クエリ生成サーバは、
データベースへの問合せを実行するためのデータベースクエリを識別するクエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述されたクエリ文字列を記憶するクエリ記憶部と、
前記クライアントから前記データベースクエリを特定するクエリ識別情報とデータの検索に必要なパラメータとを受信する受信手段と、
この受信手段により受信した前記クエリ識別情報に関連付けられた前記クエリ文字列を前記クエリ記憶部から取得し、この取得したクエリ文字列に記述されている変数名を前記受信手段により受信したパラメータに置換してデータベースクエリを生成するクエリ生成手段と、
このクエリ文字列生成手段により生成されたデータベースクエリを前記データベースの管理システムに実行させるクエリ処理手段と、を具備し、
前記クライアントは、
前記アプリケーションプログラムの実行により前記データベースへの問合せが発生する毎に、その問合せを実行するためのデータベースクエリのデータ検索条件となるパラメータの入力画面を表示部に表示させる入力画面表示手段と、
前記入力画面を介して入力されたパラメータを、前記問合せを実行するためのデータベースクエリを特定するクエリ識別情報とともに前記クエリ生成サーバに送信するパラメータ送信手段と、
を具備したことを特徴とするデータベース検索システム。
【請求項５】
前記クライアントのパラメータ送信手段は、
前記入力画面を介して入力されたパラメータに、置換対象の変数名を関連付けて前記クエリ生成サーバに送信し、
前記クエリ生成サーバのクエリ生成手段は、前記クエリ記憶部から取得したクエリ文字列に記述されている変数名を、前記受信手段により受信したパラメータのうち同一変数名に関連付けられたパラメータに置換することを特徴とする請求項４記載のデータベース検索システム。
【請求項６】
ネットワークを介して、クライアントと、データベースの管理システムとを接続してなるコンピュータに、
前記データベースへの問合せを実行するためのデータベースクエリを識別するクエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述されたクエリ文字列を記憶部で記憶させるクエリ記憶機能と、
前記クライアントから、前記データベースクエリを特定するクエリ識別情報とデータの検索に必要なパラメータとを受信するのを促す受信機能と、
前記クライアントから受信した前記クエリ識別情報に関連付けられた前記クエリ文字列を前記記憶部から取得し、この取得したクエリ文字列に記述されている変数名を前記受信機能により受信したパラメータに置換してデータベースクエリを生成させるクエリ生成機能と、
このクエリ生成機能により生成されたデータベースクエリを前記データベースの管理システムに実行させるクエリ処理機能と、
を実現させるためのクエリ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムの実行によりデータベースにアクセスするクライアントと、このクライアントからの要求により前記データベースへの問合せ等を実行するクエリ生成サーバとをネットワーク接続してなるデータベース検索システム、及びこのシステムのクエリ生成サーバとして動作するクエリ生成装置並びにコンピュータをクエリ生成装置として機能させるためのプログラムに関する。
【背景技術】
【０００２】
特許文献１は、Ｗｅｂサービス呼出側の業務システム（クライアント）から受信したデータベースクエリを解析してデータベースの情報抽出処理または情報更新処理を実行するＷｅｂサービス検索システム（サーバ）を開示する。この文献１において、業務システムは、クエリ文字列生成部と接続先情報解析部とを備える。Ｗｅｂサービス検索システムは、クエリ実行部とＵＤＤＩ(Universal Description, Discovery, and Integration)レジストリ検索部と、接続先情報生成部とを備える。
【０００３】
そして、データベースの情報抽出処理では、業務システムのクエリ文字列生成部が、利用者の抽出処理要求に応じて、抽出要求を示すクエリ文字列を生成する。すると、Ｗｅｂサービス検索システムのクエリ実行部が、業務システムにて生成されたクエリ文字列をデータベースへの問合せ、いわゆるデータベースクエリに変換し、データベースへの問合せを実施することにより抽出処理を行い、抽出結果を取得する。また、ＵＤＤＩレジストリ検索部が、クエリ実行部から抽出結果に含まれるbinding keyを取得し、ＵＤＤＩレジストリを検索する。さらに、接続先情報生成部が、ＵＤＤＩレジストリから取得した情報に基づき、Ｗｅｂサービスの呼出しに必要な接続先情報を生成する。しかして、業務システムの接続先情報解析部は、接続先情報生成部で生成された接続先情報を受信すると、この情報に含まれるＷｅｂサービスへのアクセスポイント（ＵＲＬ）に基づき、Ｗｅｂサービスの呼出しを行う。
【０００４】
一方、データベースの情報更新処理では、業務システムのクエリ文字列生成部が、利用者の更新処理要求に応じて、更新要求を示すクエリ文字列を生成する。すると、Ｗｅｂサービス検索システムのクエリ実行部が、業務システムにて生成されたクエリ文字列をデータベースクエリに変換し、データベース内の情報の更新処理を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したデータベースの情報抽出処理及び情報更新処理は、通常、クライアントがアプリケーションプログラムを実行している過程で発生する。そして、情報抽出処理または情報更新処理が発生すると、クライアントは、抽出要求または更新要求を示すクエリ文字列を生成する。換言すれば、実行中のアプリケーションプログラムには、クライアントが該当するクエリ文字列を生成する機能を実現させるための記述が必要となる。このため、アプリケーションプログラムの開発者は、クエリ文字列の文法に熟知していなければならない。
【０００６】
また、例えばデータベースの接続先が変更となったり、抽出対象または更新対象のデータを絞り込むための条件に変更があったりした場合には、クエリ文字列を書き換える必要がある。その際には、アプリケーションプログラムそのものを変更しなければならない。特に、ＰＯＳ（Point Of Sales）システムのように、複数のクライアントが共通のデータベースにアクセスするネットワークシステムの場合、全てのクライアントに実装されているアプリケーションプログラムを修正しなければならない、このため、非常に多くの手間と時間を要する上、クライアント３の維持コストも嵩む。
【０００７】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、クライアントに実装されているアプリケーションプログラムを修正しなくても、当該クライアントがデータベースにアクセスする際のクエリ文字列の書換えができるデータベース検索システム及びこのシステムに用いられるクエリ生成装置並びにそのプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明に係るクエリ生成装置は、データベースへの問合せを実行するためのデータベースクエリを個々に識別するクエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述された複数のクエリ文字列を記憶するクエリ記憶部と、ネットワーク接続されたクライアントから、データベースクエリを特定するクエリ識別情報とデータの検索に必要なパラメータとを受信する受信手段と、この受信手段により受信したクエリ識別情報に関連付けられたクエリ文字列をクエリ記憶部から取得し、この取得したクエリ文字列に記述されている変数名を受信手段により受信したパラメータに置換してデータベースクエリを生成するクエリ生成手段と、このクエリ生成手段により生成されたデータベースクエリをデータベースの管理システムに実行させるクエリ処理手段とを備えたものである。
【０００９】
本発明に係るデータベース検索システムは、データベースへの問合せが発生し得るアプリケーションプログラムを実行するクライアントと、クライアントをネットワーク接続してなるクエリ生成サーバとを備え、クエリ生成サーバは、前記クエリ記憶部、受信手段、クエリ生成手段及びクエリ処理手段を具備し、クライアントは、アプリケーションプログラムの実行によりデータベースへの問い合わせが発生する毎に、その問合せを実行するためのデータベースクエリのデータ検索条件となるパラメータの入力画面を表示部に表示させる入力画面表示手段と、入力画面を介して入力されたパラメータを、問合せを実行するためのデータベースクエリを特定するクエリ識別情報とともにクエリ生成サーバに送信するパラメータ送信手段とを備えたものである。
【００１０】
本発明に係るクエリ生成プログラムは、ネットワークを介して、クライアントと、データベースの管理システムとを接続してなるコンピュータに、データベースへの問合せを実行するためのデータベースクエリを識別するクエリ識別情報に関連付けて、そのクエリ識別情報で特定されるデータベースクエリのデータ検索条件となるパラメータの部分が任意の変数名で記述された複数のクエリ文字列を記憶部で記憶させるクエリ記憶機能と、クライアントから、データベースクエリを特定するクエリ識別情報とデータの検索に必要なパラメータとを受信するのを促す受信機能と、クライアントから受信したクエリ識別情報に関連付けられたクエリ文字列を記憶部から取得し、この取得したクエリ文字列に記述されている変数名を受信機能により受信したパラメータに置換してデータベースクエリを生成させるクエリ生成機能と、このクエリ生成機能により生成されたデータベースクエリをデータベースの管理システムに実行させるクエリ処理機能とを実現させるためのものである。
【発明の効果】
【００１１】
かかる手段を講じた本発明によれば、クライアントに実装されているアプリケーションプログラムを修正しなくても、当該クライアントがデータベースにアクセスする際のクエリ文字列の書換えができるようになり、クライアントに実装されるアプリケーションプログラムの設計並びに変更を容易にできるとともにコストも低減できる効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係わるデータベース検索システムの全体図。
【図２】本実施形態において、クエリ設定ファイルに保存されるデータベースクエリ生成データの構造を示す模式図。
【図３】クエリ設定ファイルに保存されるデータベースクエリ生成データの一例を示す図。
【図４】クエリ設定ファイルに保存されるデータベースクエリ生成データの他の例を示す図。
【図５】本実施形態において、クライアントからデータベースに対して問合せを行うアクセス処理が発生したときの処理手順の要部を示す流れ図。
【図６】本実施形態において、クエリ生成サーバに実装されているクエリ生成プログラムの実行により、クエリ生成サーバが実行する主要な処理手順を示す流れ図。
【図７】クライアントのディスプレイに表示される検索条件入力画面と、データベース問合せデータと、データベースクエリの一パターン例を示す模式図。
【図８】クライアントのディスプレイに表示される検索条件入力画面の更新例を示す模式図。
【図９】図８の検索条件入力画面に対応してクエリ設定ファイルに保存されるデータベースクエリ生成データの一例を示す図。
【図１０】クライアントのディスプレイに表示される検索条件入力画面と、データベース問合せデータと、データベースクエリの他のパターン例を示す模式図。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を、図面を用いて説明する。  
なお、この実施形態は、各会員の会員番号，氏名，性別，電話番号等の会員データが保存された第１のデータベースＤＢ１と、各商品の商品コード、商品名、単価等の商品データが保存された第２のデータベースＤＢ２とにアクセスして、会員データまたは商品データの抽出，更新等が可能なデータベース検索システムに、本発明を適用した場合である。
【００１４】
図１は、本実施形態に係わるデータベース検索システムの全体図である。当該データベース検索システムは、データベースサーバ１と、クエリ生成サーバ２と、複数のクライアント３とを備える。データベースサーバ１とクエリ生成サーバ２とは、サーバ間の専用回線４によって接続されている。クエリ生成サーバ２と各クライアント３とは、ＬＡＮ（Local Area Network）等のネットワーク５によって接続されている。なお、データベースサーバ１をネットワーク５に接続し、データベースサーバ１とクエリ生成サーバ２とがネットワーク５を介してデータ通信するように構成してもよい。
【００１５】
データベースサーバ１は、第１及び第２のデータベースＤＢ１，ＤＢ２の管理に特化したコンピュータ（データベース管理システム）である。
【００１６】
クライアント３は、例えばパーソナルコンピュータであり、少なくとも第１または第２のデータベースＤＢ１，ＤＢ２に対して抽出，更新等のアクセス処理が発生し得るアプリケーションプログラムを実装している。
【００１７】
クエリ生成サーバ２は、各クライアント３とデータベースサーバ１との間に位置し、各クライアント３からの要求に応じて、第１または第２のデータベースＤＢ１，ＤＢ２への問合せ（抽出、更新、削除、追加等）を実行するデータベースクエリの生成機能に特化したコンピュータ（クエリ生成装置）である。クエリ生成サーバ２は、クエリ設定ファイル１０を複数記憶可能なクエリ記憶部６を備えている。クエリ記憶部６は、クエリ生成サーバ２の内部に設けられていてもよいし、外部に設けられていてもよい。
【００１８】
クエリ設定ファイル１０は、当該データベース検索システムで使用されるデータベースクエリの種類毎に用意されている。各クエリ設定ファイル１０には、図２に示す構造のデータベースクエリ生成データが保存されている。具体的には、クエリ名１１と、モード１２と、クエリ文字列１３とが１組として保存されている。
【００１９】
クエリ名１１は、当該データベース検索システムで使用されるデータベースクエリを識別するクエリ識別情報として機能する。換言すれば、各データベースクエリには、それぞれ異なるクエリ名１１が設定されている。
【００２０】
モード１２は、データベースクエリの種類を識別するクエリ種別情報として機能する。例えば、第１または第２のデータベースＤＢ１，ＤＢ２への問合せが、そのデータベースに記憶されているデータの抽出に係わるものである場合には、抽出モードを示すデータが設定されており、更新に係わるものである場合には更新モードを示すデータが設定されている。
【００２１】
クエリ文字列１３は、第１または第２のデータベースＤＢ１，ＤＢ２への問合せの詳細な内容を所定言語の文字列で表わしたものである。このクエリ文字列１３において、データベースクエリのデータ検索条件となるパラメータの部分は、任意の変数名で記述されている。
【００２２】
クエリ設定ファイル１０に保存されるデータベースクエリ生成データの一例を図３に示す。このデータ例は、クエリ名１１が＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞であり、モード１２が “ｓｅｌｅｃｔ”であり、クエリ文字列１３が｛ｖａｌｕｅ＝“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝＠[ｎａｍｅ] ａｎｄ ｇｅｎｄｅｒ=＠[ｇｅｎｄｅｒ]”｝である。クエリ文字列１３内の＠[ｎａｍｅ]と、＠[ｇｅｎｄｅｒ]は、変数名である。すなわち、各会員のデータが保存された第１のデータベースＤＢ１に問合せを行い、変数名＠[ｎａｍｅ]に当て嵌められたパラメータと一致する氏名で、変数名＠[ｇｅｎｄｅｒ]に当て嵌められたパラメータと一致する性別の会員データを抽出するというデータベースクエリの生成データである。
【００２３】
クエリ設定ファイル１０に保存されるデータベースクエリ生成データの他の例を図４に示す。このデータ例は、クエリ名１１が＜ＧＥＴ＿ＰＲＩＣＥ＞であり、モード１２が“ｓｅｌｅｃｔ”であり、クエリ文字列１３が｛ｖａｌｕｅ＝“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｐｒｉｓｅＬｉｓｔ ｗｈｅｒｅ  ｐｒｏｄｕｃｔＩＤ＝＠[ｐｒｏｄｕｃｔ]”｝である。クエリ文字列１３内の＠[ｐｒｏｄｕｃｔ]は、変数名である。すなわち、各商品のデータが保存された第２のデータベースＤＢ２に問合せを行い、変数名@[ｐｒｏｄｕｃｔ]に当て嵌められたパラメータと一致する商品コードの商品データを抽出するというデータベースクエリの生成データである。
【００２４】
図５は、各クライアント３に実装されているアプリケーションプログラムの実行により、第１または第２のデータベースＤＢ１，ＤＢ２に対して問合せを行うアクセス処理が発生したときの、クライアント３の処理手順の要部を示す流れ図である。
【００２５】
図示するように、アクセス処理が発生すると、クライアント３は、ステップＰ１としてディスプレイに検索条件の入力画面を表示させる（入力画面表示手段）。そして、ステップＰ２として検索条件となるパラメータが入力され、続いて、ステップＰ３として処理の実行が指令されると、クライアント３は、ステップＰ４としてネットワーク５を介してクエリ生成サーバ２にデータベース問合せデータを送信する。このデータベース問合せデータには、上記入力画面から検索条件として入力されたパラメータと、今回のアクセス処理に対応したデータベースクエリを識別するクエリ名とが含まれる。また、パラメータには、当該データベースクエリのクエリ文字列に組み込まれている置換対象の変数名が関連付けられている。（パラメータ送信手段）。データベース問合せデータに組み込まれるクエリ名と、入力パラメータに付加される変数名とは、予めアプリケーションプログラムに記述されている。
【００２６】
データベース問合せデータを送信すると、クライアント３は、ステップＰ５として第１または第２のデータベースＤＢ１，ＤＢ２に対する問合せの結果応答を待機する。そして、ネットワーク５を介して結果応答を受信したならば、その応答結果を出力する。応答結果の出力手段としては、ディスプレイへの表示出力、プリンタによる印字媒体への印字出力、ハードディスク等の記録媒体への記録出力などがある。
【００２７】
図６は、クエリ生成サーバ２に実装されているクエリ生成プログラムの実行により、クエリ生成サーバ２が実行する主要な処理手順を示す流れ図である。
【００２８】
図示するように、クエリ生成サーバ２は、ステップＱ１としていずれかのクライアント３からデータベース問合せデータを受信するのを待機している（受信手段）。ネットワーク５を介してデータベース問合せデータを受信すると、クエリ生成サーバ２は、ステップＱ２としてその問合せデータからクエリ名を検出する。そして、ステップＱ３としてクエリ記憶部６を検索して、データベース問合せデータから検出されたクエリ名と一致するクエリ名のデータベースクエリ生成データが保存されたクエリ設定ファイル１０を呼出す。
【００２９】
次に、クエリ生成サーバ２は、ステップＱ４として上記問合せデータからパラメータを検出する。そして、ステップＱ５としてクエリ記憶部６から呼出したクエリ設定ファイル１０のクエリ文字列１３に記述されている変数名を、同一の変数名が関連付けられたパラメータに置換して、データベースクエリを生成する（クエリ生成手段）。
【００３０】
データベースクエリを生成したならば、クエリ生成サーバ２は、ステップＱ６としてこのデータベースクエリをデータベースサーバ１に送信する。そして、データベースサーバ１にデータベースクエリの実行を指令する（クエリ処理手段）。
【００３１】
しかる後、クエリ生成サーバ２は、ステップＱ７としてデータベースクエリの実行結果を待機する（実行結果取得手段）。そして、データベースサーバ１からデータベースクエリの実行結果を示す結果応答を受信したならば、クエリ生成サーバ２は、ステップＱ８としてその結果応答を、問合せデータ送信元のクライアント３にネットワーク５を介して送信する（結果応答手段）。
【００３２】
以上で、いずれかのクライアント３からデータベース問合せデータを受信したときの処理ステップを終了する。なお、クエリ生成サーバ２は、複数のクライアント３から略同時に問合せデータを受信した際には、図６の流れ図に示す手順の処理ステップを並行して処理することができる。
【００３３】
図７は、クライアント３のディスプレイに表示される検索条件入力画面２０Ａの一例である。この例は、図３に示したデータベースクエリ生成データに対応している。すなわち、氏名と性別とを検索条件として第１のデータベースＤＢ１から会員データを検索する業務の画面２０Ａである。画面２０Ａには、第１の検索条件である氏名の入力ボックス２１と、第１２の検索条件である性別の入力ボックス２２とが形成されている。また、検索の実行を指令する実行ボタン２３と、検索の中止を指令する取消ボタン２４と、検索結果を表示する領域２５と形成されている。このような検索条件入力画面２０を構築するためのデータは、予め各クライアント３に設定されている。
【００３４】
今、図７に示すように、クライアント３のオペレータが、検索条件入力画面２０Ａの入力ボックス２１に“Ｔａｒｏ  Ｙａｍａｄａ”と入力し、入力ボックス２２に“Ｍ”（Ｍは男性を示す）と入力して、実行ボタン２３を操作（クリック）したとする。そうすると、図７の符号３０に示すように、クエリ名＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞と、変数名ｎａｍｅに関連付けられたパラメータ“Ｔａｒｏ  Ｙａｍａｄａ”と、変数名ｇｅｎｄｅｒに関連付けられたパラメータ“Ｍ”とを含むデータベース問合せデータが、当該クライアント３からクエリ生成サーバ２に送信される。
【００３５】
このデータベース問合せデータ３０を受信したクエリ生成サーバ２においては、クエリ名１１が＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞のデータベースクエリ設定データを保存したクエリ設定ファイル１０が呼出される。そして、このクエリ設定ファイル１０に保存されたデータベースクエリ設定データのクエリ文字列１３｛“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝＠[ｎａｍｅ] ａｎｄ ｇｅｎｄｅｒ＝＠[ｇｅｎｄｅｒ]”｝のうち、変数名＠[ｎａｍｅ]の部分が、データベース問合せデータ３０の変数名ｎａｍｅに関連付けられたパラメータ“Ｔａｒｏ  Ｙａｍａｄａ”に置き換えられる。また、変数名＠[ｇｅｎｄｅｒ]の部分が、同データベース問合せデータ３０の変数名ｇｅｎｄｅｒに関連付けられたパラメータ“Ｍ”に置き換えられる。
【００３６】
かくして、クエリ生成サーバ２においては、図７の符号４０で示すデータベースクエリ｛“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝Ｔａｒｏ  Ｙａｍａｄａ ａｎｄ ｇｅｎｄｅｒ＝Ｍ｝が生成される。そして、このデータベースクエリ４０がデータベースサーバ１に送信されて、データベースクエリ４０の実行が指令される。
【００３７】
その結果、第１のデータベースＤＢ１から氏名が“Ｔａｒｏ  Ｙａｍａｄａ”で性別が男性の会員データが抽出される。そして、問合せ元のクライアント３のディスプレイに表示されている検索条件入力画面２０Ａの結果表示領域２５に、第１のデータベースＤＢ１から抽出された会員データが表示される。
【００３８】
ところで、上述した会員データの検索業務において、検索条件として氏名と性別に加えて誕生日を追加する必要が生じたとする。この場合、クライアント３にて表示される検索条件入力画面２０Ｂは、例えば図８に示すように、第１の検索条件である氏名の入力ボックス２１と、第２の検索条件である性別の入力ボックス２２とに加えて、第３の検索条件である誕生日の入力ボックス２６が配置されたものとなる。システムのユーザは、このような検索条件入力画面２０Ｂの構築データを、各クライアント３に設定する。
【００３９】
この点は、従来も同様である。従来は、この他に、会員データ検索業務においては氏名，性別及び誕生日を検索条件とするクエリ文字列が作成されるように、各クライアント３にそれぞれ実装されたアプリケーションプログラムを変更する必要があった。
【００４０】
これに対して、本実施形態では、各クライアント３に実装されたアプリケーションプログラムの変更は不要である。システムのユーザは、図９に示す内容のデータベースクエリ生成データが保存されたクエリ設定ファイル１０Ｂを作成し、クエリ生成サーバ２のクエリ記憶部６に上書き保存する。データベースクエリ生成データは、クエリ名１１が＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞であり、モード１２が “ｓｅｌｅｃｔ”であり、クエリ文字列１３が｛ｖａｌｕｅ＝“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝＠[ｎａｍｅ] ａｎｄ ｇｅｎｄｅｒ=＠[ｇｅｎｄｅｒ] ａｎｄ ｂｉｒｔｈｄａｙ=＠[ｂｉｒｔｈｄａｙ]”｝である。クエリ文字列１３内の＠[ｎａｍｅ]と、＠[ｇｅｎｄｅｒ]と＠[ｂｉｒｔｈｄａｙ]は、変数名である。すなわち、各会員のデータが保存された第１のデータベースＤＢ１に問合せを行い、変数名＠[ｎａｍｅ]に当て嵌められたパラメータと一致する氏名で、かつ、変数名＠[ｇｅｎｄｅｒ]に当て嵌められたパラメータと一致する性別で、かつ、変数名＠[ｂｉｒｔｈｄａｙ] に当て嵌められたパラメータと一致する誕生日の会員データを抽出するというデータベースクエリの生成データである。
【００４１】
今、図１０に示すように、クライアント３のオペレータが、検索条件入力画面２０Ｂの入力ボックス２１に“Ｔａｒｏ  Ｙａｍａｄａ”と入力し、入力ボックス２２に“Ｍ”（Ｍは男性を示す）と入力し、入力ボックス２６に“１９８８０８０８”と入力して、実行ボタン２３を操作（クリック）したとする。そうすると、図１０の符号５０に示すように、クエリ名＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞と、変数名ｎａｍｅに関連付けられたパラメータ“Ｔａｒｏ  Ｙａｍａｄａ”と、変数名ｇｅｎｄｅｒに関連付けられたパラメータ“Ｍ”と、変数名ｂｉｒｔｈｄａｙに関連付けられたパラメータ“１９８８０８０８”とを含むデータベース問合せデータが、当該クライアント３からクエリ生成サーバ２に送信される。
【００４２】
このデータベース問合せデータ５０を受信したクエリ生成サーバ２においては、クエリ名１１が＜ＧＥＴ＿ＮＡＭＥ＿ＬＩＳＴ＞のクエリ設定ファイル１０Ｂが呼出される。そして、このクエリ設定ファイル１０Ｂのクエリ文字列１３｛ｖａｌｕｅ＝“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝＠[ｎａｍｅ] ａｎｄ ｇｅｎｄｅｒ＝＠[ｇｅｎｄｅｒ] ａｎｄ ｂｉｒｔｈｄａｙ=＠[ｂｉｒｔｈｄａｙ]”｝のうち、変数名＠[ｎａｍｅ]の部分が、データベース問合せデータ５０中の変数名ｎａｍｅに関連付けられたパラメータ“Ｔａｒｏ  Ｙａｍａｄａ”に置き換えられる。また、変数名＠[ｇｅｎｄｅｒ]の部分が、データベース問合せデータ５０中の変数名ｇｅｎｄｅｒに関連付けられたパラメータ“Ｍ”に置き換えられる。さらに、変数名＠[ｂｉｒｔｈｄａｙ] の部分が、データベース問合せデータ５０中の変数名ｂｉｒｔｈｄａｙに関連付けられたパラメータ“１９８８０８０８”に置き換えられる。
【００４３】
かくして、図１０の符号６０で示すデータベースクエリ｛“ｓｅｌｅｃｔ ＊ ｆｒｏｍＤＢ．ｎａｍｅＬｉｓｔ ｗｈｅｒｅ  ｎａｍｅ＝Ｔａｒｏ  Ｙａｍａｄａ ａｎｄ ｇｅｎｄｅｒ＝Ｍ ａｎｄ ｂｉｒｔｈｄａｙ＝１９８８０８０８｝が生成される。そして、このデータベースクエリ６０がデータベースサーバ１に送信されて、データベースクエリ６０の実行が指令される。
【００４４】
その結果、第１のデータベースＤＢ１から、氏名が“Ｔａｒｏ  Ｙａｍａｄａ”で、性別が男性で、１９８８年８月８日生まれの会員データが抽出される。そして、問合せ元のクライアント３のディスプレイに表示されている検索条件入力画面２０Ｂの結果表示領域２５に、第１のデータベースＤＢ１から抽出された会員データが表示される。
【００４５】
このように、データベースから抽出対象のデータを絞り込むための条件に変更があった場合でも、本実施形態によれば、アプリケーションプログラムの変更は必要なくなる。この点は、抽出対象のデータを絞り込むための条件に限定されるものではなく、更新対象のデータを絞り込むための条件に変更があった場合も同様である。また、データベースの接続先が変更となった場合も、アプリケーションプログラムの変更は必要ない。
【００４６】
したがって、クライアント３に実装されているアプリケーションプログラムを修正しなくても、当該クライアント３がデータベースＤＢ１，ＤＢ２にアクセスする際のクエリ文字列の書換えができるので、クライアント３に実装されるアプリケーションプログラムの設計並びに変更を容易にできる効果を奏する。このような効果は、特に複数のクライアントが共通のデータベースにアクセスするネットワークシステムにおいて顕著であり、クライアント３の維持コストも大幅に削減できる。
【００４７】
また、アプリケーションプログラムには、クライアント３が該当するクエリ文字列を生成する機能を実現させるための記述が不要となる。したがって、アプリケーションプログラムの開発者は、クエリ文字列の文法に熟知している必要はなく、負担を軽減できる。
【００４８】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【００４９】
また、本実施の形態では、クエリ生成サーバ２の内部に発明を実施するためのプログラムが予め記録されている場合で説明をしたが、これに限らず同様のプログラムをネットワークからクエリ生成サーバ２にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものをクエリ生成サーバ２にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつサーバが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００５０】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【符号の説明】
【００５１】
１…データベースサーバ、２…クエリ生成サーバ、３…クライアント、６…クエリ記憶部、１０…クエリ設定ファイル。
【先行技術文献】
【特許文献】
【００５２】
【特許文献１】特開２００５−１４８８２３号公報
【図１】
2011118545.tif 000003
【図２】
2011118545.tif 000004
【図３】
2011118545.tif 000005
【図４】
2011118545.tif 000006
【図５】
2011118545.tif 000007
【図６】
2011118545.tif 000008
【図７】
2011118545.tif 000009
【図８】
2011118545.tif 000010
【図９】
2011118545.tif 000011
【図１０】
2011118545.tif 000012