(57)【要約】【課題】  データベース操作のためのＳＱＬを拠点ごとに作成する必要がなく、且つ、当該ＳＱＬを実行するユーザに応じて、接続先のデータベースを自動設定可能な技術を提供すること。【解決手段】  業務で繰り返し使用されるＳＱＬを作成する際に、その一部に接続先に応じて変更処理がなされる箇所を設定しておき、接続先毎に、どのような値に変更するかの情報を設定する。ユーザからのＳＱＬ実行指示を受け付けると、ユーザのロケーション情報に応じて、接続先のデータベースサーバを特定する。また、特定されるデータベースサーバに従ってＳＱＬの変更処理を行い、変更されたＳＱＬをデータベースサーバに対して送信する。【選択図】  図７
2014085789.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と通信可能に接続される情報処理装置であって、
ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、
前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、
前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付手段と、
前記第１の受付手段で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定手段と、
前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記データベースサーバで管理されるデータベースの操作に用いるテンプレートＳＱＬを記憶する前記第３の記憶手段と、
前記テンプレートＳＱＬに含まれる特定の文字列を、接続先のデータベースサーバのロケーションに応じて変更するための変更情報を記憶する第４の記憶手段と、
第３の記憶手段に記憶されているテンプレートＳＱＬの実行指示を、前記クライアント装置から受け付ける第２の受付手段と、
前記第２の受付手段で実行指示を受け付けたテンプレートＳＱＬ中の特定の文字列を、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて前記決定手段により決定されるロケーションに対応付けられた変更情報を用いて、他の文字列に変更することで前記テンプレートＳＱＬを変更する変更手段と
前記変更手段で変更されたテンプレートＳＱＬを前記接続手段で接続されたデータベースサーバに送信する送信手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記クライアント装置から、前記テンプレートＳＱＬの登録要求を受け付ける第３の受付手段と、
前記第３の受付手段で受け付けたテンプレートＳＱＬを前記第３の記憶手段に登録する登録手段と
を更に備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第３の受付手段で受け付けたテンプレートＳＱＬに特定の文字列が含まれる場合に、当該テンプレートＳＱＬの実行時に、前記特定の文字列を接続先のデータベースサーバに応じて変更するための変更情報を受け付ける第４の受付手段と、
前記第４の受付手段で受け付けた変更情報を、前記第４の記憶手段に登録する第２の登録手段と、
を更に備えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、クライアント装置と通信可能に接続される情報処理装置によって行われる情報処理方法であって、
前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付工程と、
前記第１の受付工程で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定工程と、
前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続工程と
を備えることを特徴とする情報処理方法。
【請求項６】
ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、を備え、クライアント装置と通信可能に接続される情報処理装置を、
前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付手段と、
前記第１の受付手段で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定手段と、
前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース検索技術に関する。
【背景技術】
【０００２】
大規模なデータベースシステムを構成する際に、特定のサーバに負荷が集中することを防ぐために、拠点ごとにデータベースサーバを設け、ユーザの拠点ごとにアクセスするデータベースを変更することが広く行われている。
【０００３】
このような構成にする場合には、複数の拠点に設置されているデータベースサーバで共通するスキーマ構成にすることが一般的である。そして、複数の拠点のうち、ある拠点のデータサーバをプライマリのサーバとして、そのデータベースサーバのみユーザからの変更要求に応じた変更を許可することが多い。そして、それ以外の拠点のデータベースサーバは、プライマリのデータベースサーバと定期的に同期をとるようにする。
【０００４】
上記のような構成を採用すると、各拠点のデータベースのデータの更新までに時間がかかる場合があるので、全てのデータベースサーバで管理されているデータを変更する場合には、それぞれのデータベースサーバで管理されているデータを直接変更するようにする必要がある。この場合、それぞれのデータベースサーバの操作を行うためのＳＱＬを個別に作成しなくてはならず、作業効率が悪かった。
【０００５】
そこで、特許文献１には、クライアントに実装されているアプリケーションプログラムを修正しなくても、当該クライアントがデータベースにアクセスする際のクエリ文字列の書換えができるようにする発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１１８５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の発明を用いることで、ＳＱＬ中で各拠点ごとに異なる文字列を設定する部分を変数としておくことで、それぞれの拠点のデータベースサーバ操作のためのＳＱＬをそれぞれ作成しなくてはならないという問題は解決する。しかし、どの拠点のデータベースサーバの操作を行うかについては、その都度設定しなくてはならなかった。
【０００８】
複数の拠点でデータベースサーバを設置し、それぞれのデータベースサーバのデータをメンテナンスするような場合には、拠点ごとにシステム管理者を設けることが多いので、処理を行うシステム管理者ごとに、自動的に接続先のデータベースサーバを設定することが出来れば更に処理効率は向上する。
【０００９】
そこで、本発明は、ＳＱＬを実行するユーザに応じて、接続先のデータベースを自動設定可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記した目的を達成するために、本発明の情報処理装置は、クライアント装置と通信可能に接続される情報処理装置であって、ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付手段と、前記第１の受付手段で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定手段と、前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続手段と、を備えることを特徴とする。
【００１１】
上記した目的を達成するために、本発明の情報処理方法は、ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、クライアント装置と通信可能に接続される情報処理装置によって行われる情報処理方法であって、前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付工程と、前記第１の受付工程で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定工程と、前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続工程とを備えることを特徴とする。
【００１２】
上記した目的を達成するために、本発明のコンピュータプログラムは、ユーザとユーザが属する拠点とが対応付けられたユーザロケーション情報を記憶する第１の記憶手段と、前記拠点に設置されたデータベースサーバに対するアクセス情報を記憶する第２の記憶手段と、を備え、クライアント装置と通信可能に接続される情報処理装置を、前記ユーザが操作するクライアント装置から前記データベースサーバへのアクセス要求を受け付ける第１の受付手段と、前記第１の受付手段で前記データベースサーバへのアクセス要求を受け付けた後に、アクセス先とするデータベースサーバのロケーションを、前記クライアント装置を操作するユーザのユーザ情報と前記ユーザロケーション情報を用いて決定する決定手段と、前記決定手段で決定されたロケーションに設置されたデータベースサーバに、当該アクセス情報を用いて接続する接続手段として機能させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ＳＱＬを実行するユーザに応じて、接続先のデータベースを自動設定可能な技術を提供することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の情報処理システムのシステム構成の一例を示す図である。
【図２】図１の管理サーバ１０１に適用可能な情報処理装置のハードウェア構成の一例を示す図である。
【図３】図１の管理サーバ１０１の機能構成の一例を示す図である。
【図４】管理サーバ１０１とクライアント装置１０３によって行われるＳＱＬ登録処理の一例を示す図である。
【図５】管理サーバ１０１とクライアント装置１０３によって行われるロケーション特定処理の一例を示す図である。
【図６】図５のステップＳ５１４のＳＱＬ選択処理の詳細を示すフローチャートである。
【図７】図６のステップＳ６１２のＳＱＬ実行処理の詳細を示すフローチャートである。
【図８】ユーザ情報管理テーブルのデータ構成の一例を示す図である。
【図９】ロケーション情報管理テーブルのデータ構成の一例を示す図である。
【図１０】テンプレートＳＱＬ管理テーブルのデータ構成の一例を示す図である。
【図１１】ＶＡＬＵＥ情報管理テーブルのデータ構成の一例を示す図である。
【図１２】ＳＱＬ登録画面の構成の一例を示す図である。
【図１３】ＳＱＬ選択画面のデータ構成の一例を示す図である。
【図１４】ＳＱＬ詳細画面のデータ構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態の一例について説明する。
【００１６】
図１は、本発明の情報処理システムのシステム構成の一例を示す図である。図１に示す通り、本発明の情報処理システムは、管理サーバ１０１、複数台のデータベースサーバ（ＤＢサーバ）１０２、クライアント装置１０３、ＬＡＮ１０４等を備えて構成されている。
【００１７】
管理サーバ１０１は、本発明の情報処理装置として機能する装置である。業務で使用されるＳＱＬ情報を記憶管理しており、クライアント装置１０３からのＳＱＬの実行要求を受け付けると、接続先として特定されるＤＢサーバ１０２に応じてＳＱＬの内容を変更し、そして変更したＳＱＬを、接続先として特定したＤＢサーバ１０２に対して送信する機能を備えている。
【００１８】
ＤＢサーバ１０２は、各種のデータを記憶管理するサーバであって、複数の拠点其々に設置されている。クライアント装置１０３は、ＤＢサーバ１０２に記憶されているデータの検索、参照、データ追加、削除等のデータ変更を行うために用いられる端末装置である。この時、クライアント装置１０３は、管理サーバ１０１を介してＤＢサーバ１０２に接続することになる。
【００１９】
ＬＡＮ１０４は、上記した各装置を相互に通信可能に接続するための通信ネットワークである。接続形態は、有線／無線を問わない。以上が、本発明の情報処理システムのシステム構成の一例の説明である。
【００２０】
次に、図２を参照して、図１の管理サーバ１０１、ＤＢサーバ１０２、クライアント装置１０３に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【００２１】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、管理サーバ１０１、ＤＢサーバ１０２、クライアント装置１０３が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２２】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで後述する各種動作を実現するものである。
【００２３】
また、２０５は入力コントローラで、キーボードやポインティングデバイス等の入力装置２０９からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０等の表示器への表示を制御する。これらは必要に応じて操作者が使用するものである。
【００２４】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２５】
２０８は通信Ｉ／Ｆ（インタフェース）コントローラで、ネットワーク（例えば、図１に示したネットワーク１０４）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２６】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２７】
本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行され、そのプログラムは外部メモリ２１１に記録されている。そして、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。また、さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２８】
次に、図３を参照して、管理サーバ１０１の機能構成の一例について説明する。図３に示すように、管理サーバ１０１は、ユーザ情報記憶部３０１、ロケーション情報記憶部３０２、テンプレートＳＱＬ記憶部３０３、ＶＡＬＵＥ情報記憶部３０４、ＳＱＬ登録要求受付部３０５、ＳＱＬ選択受付部３０６、ＳＱＬ実行指示受付部３０７、接続先データベース特定部３０８、ＳＱＬ変更部３０９、ＳＱＬ実行指示部３１０等を備えて構成されている。
【００２９】
ユーザ情報記憶部３０１は、本情報処理システムを利用するユーザを記憶管理する機能部であって、後述するユーザ情報管理テーブル８００（図８）を記憶管理する。ロケーション情報管理テーブル３０２は、ロケーション情報（拠点情報）を記憶管理する機能部であって、後述するロケーション情報管理テーブル９００（図９）を記憶管理する。
【００３０】
テンプレートＳＱＬ記憶部３０３は、ユーザにより繰り返し使用されるＳＱＬを記憶管理する機能部であって、後述するテンプレートＳＱＬ管理テーブル１０００（図１０）を記憶管理する。ＶＡＬＵＥ情報記憶部３０４は、テンプレートＳＱＬの内容を変更する際に用いられるＶＡＬＵＥ情報を記憶管理する機能部であって、後述するＶＡＬＵＥ情報管理テーブル１１００（図１１）を記憶管理する。
【００３１】
ＳＱＬ登録要求受付部３０５は、クライアント装置１０３から、テンプレートＳＱＬ管理テーブル１０００に、ＳＱＬを新規登録する要求を受け付ける受付部である。このＳＱＬ登録要求受付部３０５は、ＳＱＬの新規登録要求を受け付けると、新規に登録するＳＱＬと当該ＳＱＬを変更するために用いるＶＡＬＵＥ情報をクライアント装置１０３から受け付け、ＳＱＬをテンプレートＳＱＬ管理テーブル１０００に、ＶＡＬＵＥ情報をＶＡＬＵＥ情報管理テーブル１１００に登録する。
【００３２】
ＳＱＬ選択受付部３０６は、クライアント装置１０３から、テンプレートＳＱＬテーブルに登録されているＳＱＬの選択を受け付ける機能部である。ＳＱＬ実行指示受付部３０７は、ＳＱＬ選択受付部３０６で選択されたＳＱＬの実行要求を受け付ける機能部である。
【００３３】
接続先データベース特定部３０８は、ＳＱＬ実行指示受付部３０７で実行指示を受け付けたＳＱＬの送信先となる接続先データベースを特定する機能部である。例えば、接続先データベース特定部３０８は、ＳＱＬの実行指示を行ったクライアント装置１０３を操作するユーザのロケーション情報に応じて、接続先のＤＢサーバ１０２を特定することになる。
【００３４】
ＳＱＬ変更部３０９は、接続先となるＤＢサーバ１０２に応じて、ＳＱＬの内容を変更する機能部である。ＳＱＬ実行指示部３１０は、ＳＱＬをＤＢサーバ１０２に送信することで、ＤＢサーバ１０２に対してＳＱＬの実行指示を行う機能部である。以上が、図１の管理サーバ１０１の機能構成の一例の説明である。
【００３５】
次に、図４を参照して、管理サーバ１０１のＣＰＵ２０１及びクライアント装置１０３のＣＰＵ２０１によって行われる、ＳＱＬ登録処理の一例について説明する。
【００３６】
まず、クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１に対して、ＳＱＬの登録作業開始要求を送信する（ステップＳ４０１）。
【００３７】
管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３から送信されたＳＱＬ登録作業開始要求を受信すると（ステップＳ４０２）、外部メモリ２１１に記憶されているロケーション情報管理テーブル９００で管理されているロケーション情報を取得する（ステップＳ４０３）。そして、ロケーション情報を用いてＳＱＬ登録画面を表示させるための画面情報作成し（ステップＳ４０４）、作成した画面情報を、ＳＱＬ登録作業開始要求を行ったクライアント装置１０３に送信する（ステップＳ４０５）。
【００３８】
ここで、図９を参照して、管理サーバ１０１の外部メモリ２１１に記憶されているロケーション情報管理テーブル９００のデータ構成の一例について説明する。このロケーション情報管理テーブル９００は、クライアント装置１０３からのデータベース検索等の各種データベース操作要求を受け付けた場合に接続先とする各拠点（ロケーション）データベースサーバと、そのデータベースサーバへの接続方法を管理するためのデータテーブルである。
【００３９】
図９に示す通り、ロケーション情報管理テーブル９００は、ロケーションＩＤ９０１、ロケーション名９０２、データベース接続情報９０３を備えて構成されている。
【００４０】
ロケーションＩＤ９０１は、ロケーション情報管理テーブル９００で管理されるロケーション情報を一意に識別するための識別情報が登録されるデータ項目である。ロケーション名９０２は、当該ロケーションの名称が登録されるデータ項目である。
【００４１】
データベース接続情報９０３は、当該ロケーションで利用されるデータベースサーバ１０２に接続するために用いられる情報が登録されるデータ項目であり、データベースサーバのＩＰアドレス、データベースのスキーマ情報、データベースサーバに接続する際に用いる認証情報（ＩＤ、パスワード）が登録されている。
【００４２】
以上が、ロケーション情報管理テーブル９００のデータ構成性の一例である。
【００４３】
図４の説明に戻る。クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から送信されたＳＱＬ登録画面を表示するための画面情報を受信すると（ステップＳ４０６）、受信した画面情報に従って、図１２に示すＳＱＬ登録画面１２００をディスプレイ装置２１０に表示する（ステップＳ４０７）。
【００４４】
ここで、図１２を参照して、クライアント装置１０３のディスプレイ装置２１０に表示されるＳＱＬ登録画面１２００の構成の一例について説明する。クライアント装置１０３のＣＰＵ２０１は、このＳＱＬ登録画面１２００を介して、後述するテンプレートＳＱＬ管理テーブル１０００に登録されるＳＱＬ情報、及び、ＶＡＬＵＥ情報管理テーブル１１００に登録されるＶＡＬＵＥ情報の入力を受け付ける。
【００４５】
１２０１はＳＱＬ名称入力受付部であって、ＳＱＬの名称が登録されるデータ項目である。
【００４６】
１２０２はＳＱＬ入力受付部であって、ユーザが業務を行う際に繰り返し利用されるＳＱＬの入力を受け付ける受付部である。ＳＱＬには、ロケーションによって値を変えるために用いられるＶＡＬＵＥ＿ＩＤの入力を受け付けることが可能である。尚、本実施例では、ＶＡＬＵＥ＿ＩＤは、「｛」と、「｝」とで囲まれた任意の文字列であるものとする。
【００４７】
１２０３はＶＡＬＵＥ受付部であって、ＳＱＬ入力部に入力されたＶＡＬＵＥ＿ＩＤをどのような値に変更するかの情報であるＶＡＬＵＥの入力を受け付ける受付部である。本発明では、接続先データベースのロケーションに応じて、ＳＱＬ中のＶＡＬＵＥ＿ＩＤをＶＡＬＵＥに設定された値に変更することで、それぞれのロケーションごとに異なるＳＱＬが発行されるようにしている。
【００４８】
図１２の例では、ＳＱＬ入力部１２０２に入力を受け付けたＳＱＬをロケーション００１のデータベースサーバに発行する際には、ＶＡＬＵＥ＿ＩＤ｛００１｝がＬｏｃａｔｉｏｎ１に、ロケーション２のデータベースサーバに発行する際には、ＶＡＬＵＥ＿ＩＤ｛００１｝がＬｏｃａｔｉｏｎ２に、ロケーション００３のデータベースサーバに発行する際には、ＶＡＬＵＥ＿ＩＤ｛００１｝がＬｏｃａｔｉｏｎ３に、それぞれ変更されることになる。
【００４９】
尚、全てのＶＡＬＵＥ＿ＩＤに対するＶＡＬＵＥが設定されていないロケーションについては、このＳＱＬを実行できないロケーションとして設定される。また、一部ＶＡＬＵＥ＿ＩＤについては、ＶＡＬＵＥ情報を一律に設定するのではなく、ＳＱＬ実行時にユーザにより入力される値を設定するようにしても構わない。その場合には、ＶＡＬＵＥには、「｛実行時に入力｝」等と設定しておけばよい。
【００５０】
１２０４は登録ボタンであって、このＳＱＬ登録画面に入力されたＳＱＬ、ＶＡＬＵＥの登録を、管理サーバ１０１に対して要求するために用いられるボタンである。１２０５はキャンセルボタンであって、管理サーバ１０１に対してＳＱＬ、ＶＡＬＵＥの登録要求を行うことなく、本画面の表示を終了するために用いられるボタンである。
【００５１】
以上が、ＳＱＬ登録画面１２００の構成の一例の説明である。
【００５２】
図４の説明に戻る。クライアント装置１０３のＣＰＵ２０１は、ステップＳ４０７でＳＱＬ登録画面１２００をディスプレイ装置２１０に表示した後に、その画面を介して、ＳＱＬ、ＶＡＬＵＥの入力を受け付ける（ステップＳ４０８、ステップＳ４０９）。
【００５３】
その後、クライアント装置１０３のＣＰＵ２０１は、登録ボタン１２０４に対する押下指示を受け付けたと判定すると（ステップＳ４１０でＹＥＳ）、処理をステップＳ４１１に進め、ＳＱＬ登録画面１２００のＳＱＬ入力受付部１２０２で入力を受け付けたＳＱＬ、及び、ＶＡＬＵＥ入力部１２０３で入力を受け付けたＶＡＬＵＥを取得し、取得したＳＱＬ、ＶＡＬＵＥを管理サーバ１０１に対して送信することで、ＳＱＬ、ＶＡＬＵＥの登録要求を行う（ステップＳ４１２）。
【００５４】
管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３から送信されたＳＱＬ、ＶＡＬＵＥを受信すると（ステップＳ４１３）、受信したＳＱＬを、図１０に示すテンプレートＳＱＬ管理テーブル１０００に登録する（ステップＳ４１４）。また、受信したＶＡＬＵＥをＶＡＬＵＥ情報管理テーブル１１００に登録する（ステップＳ４１５）。そして、その登録処理結果を、登録要求を行ったクライアント装置１０３に送信する（ステップＳ４１６）。クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から送信された登録処理結果を受信すると（ステップＳ４１７）、登録処理結果を表示した後に、ＳＱＬ登録画面１２００の表示を終了する。そして、本図に示す処理を終了する。
【００５５】
クライアント装置１０３のＣＰＵ２０１は、ＳＱＬ登録画面のキャンセルボタンに対する押下指示を受け付けたと判定した場合には（ステップＳ４１８でＹＥＳ）、管理サーバに対してＳＱＬ、ＶＡＬＵＥを送信することなく、ＳＱＬ登録画面の表示を終了し、本図に示す処理を終了する。
【００５６】
以上が、ＳＱＬ登録処理の一例の説明である。
【００５７】
ここで、図１０を参照して、管理サーバ１０１の外部メモリ２１１に記憶されるテンプレートＳＱＬ管理テーブル１０００のデータ構成の一例について説明する。テンプレートＳＱＬ管理テーブル１０００は、複数のユーザによって使用されるＳＱＬを管理するためのデータテーブルである。
【００５８】
図１０に示す通り、テンプレートＳＱＬ管理テーブル１０００は、ＳＱＬ＿ＩＤ１００１、ＳＱＬ名称１００２、ＳＱＬ１００３等のデータ項目を備えて構成されている。
【００５９】
ＳＱＬ＿ＩＤ１００１は、テンプレートＳＱＬ管理テーブル１０００で管理されているＳＱＬ情報を一意に識別するための識別情報が登録されるデータ項目である。
【００６０】
ＳＱＬ名称１００２は、ＳＱＬを登録する際に入力された名称が登録されるデータ項目であり、ＳＱＬ登録画面１２００のＳＱＬ名称入力受付部１２０１に入力された情報が登録される。
【００６１】
ＳＱＬ１００３は、複数拠点の複数のユーザにより使用されるＳＱＬが登録されるデータ項目であり、ＳＱＬ登録画面１２００のＳＱＬ入力受付部１２０２に入力された情報が登録される。
【００６２】
以上が、テンプレートＳＱＬ管理テーブル１０００のデータ構成の一例の説明である。尚、このテンプレートＳＱＬ管理テーブル１０００に当該ＳＱＬを実行可能なロケーションを登録するデータ項目を追加することで、ＳＱＬを実行可能なロケーションを限定するような構成しても勿論構わない。
【００６３】
次に、図１１を参照して、管理サーバ１０１の外部メモリ２１１に記憶されるＶＡＬＵＥ情報管理テーブル１１００のデータ構成について説明する。このＶＡＬＵＥ情報管理テーブル１１００は、テンプレートＳＱＬ管理テーブル１０００で管理されているＳＱＬを発行する際に、そのＳＱＬ中に設定されたＶＡＬＵＥ＿ＩＤをロケーションに応じて変更する際に用いるＶＡＬＵＥ情報を管理するためのデータテーブルである。
【００６４】
図１１に示す通り、ＶＡＬＵＥ情報管理テーブル１１００は、ロケーションＩＤ１１０１、ＳＱＬ＿ＩＤ１１０２、ＶＡＬＵＥ＿ＩＤ１１０３、ＶＡＬＵＥ１１０４等のデータ構成を備えて構成されている。
【００６５】
ロケーションＩＤ１１０１は、接続先データベースのロケーションを特定するためのロケーションＩＤが登録されるデータ項目である。ＳＱＬ＿ＩＤ１１０２は、接続先データベースに対して発行されるＳＱＬを特定するためのＳＱＬ＿ＩＤが登録されるデータ項目である。
【００６６】
ＶＡＬＵＥ＿ＩＤ１１０３は、ＳＱＬ＿ＩＤ１１０２に登録されているＳＱＬ＿ＩＤで特定されるＳＱＬに含まれるＶＡＬＵＥ＿ＩＤを特定するためのＶＡＬＵＥ＿ＩＤ情報が登録されるデータ項目である。ＶＡＬＵＥ１１０４は、ＳＱＬ中に含まれるＶＡＬＵＥ＿ＩＤを変更する際に用いる値（文字列を含む）が登録されるデータ項目である。
【００６７】
以上が、ＶＡＬＵＥ情報管理テーブル１１００のデータ構成の説明である。
【００６８】
これ以降、テンプレートＳＱＬ管理テーブル１０００に登録されているＳＱＬを各ロケーション（拠点）のデータベースサーバ１０２に発行する処理について説明する。本発明では、テンプレートＳＱＬ管理テーブル１０００に登録されているＳＱＬを各拠点（ロケーション）のデータベースサーバ１０２に発行する際に、まず、ユーザがアクセスするデータベースサーバのロケーションを特定するロケーション特定処理（図５）を行い、その後、テンプレートＳＱＬ管理テーブル１０００に登録されているＳＱＬのうち、いずれのＳＱＬを発行するかの選択を受け付けるＳＱＬ選択受付処理を行う（図６）。そして、選択されたＳＱＬを、接続先のデータベースサーバ１０２に送信するＳＱＬ実行処理（図７）を行うことになる。
【００６９】
まず、図５を参照して、管理サーバ１０１のＣＰＵ２０１、及び、クライアント装置１０３のＣＰＵ２０１によって行われるロケーション特定処理の一例について説明する。
【００７０】
クライアント装置１０３のＣＰＵ２０１は、ディスプレイ装置２１０に不図示のログイン画面を表示し（ステップＳ５０１）、ログイン画面を介して、認証情報として用いるユーザＩＤ、パスワードの入力を受け付ける（ステップＳ５０２）。そして、入力されたユーザＩＤ、パスワードを管理サーバに送信することで、ユーザ認証要求を行う（ステップＳ５０３）。
【００７１】
管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３から送信されたユーザＩＤ、パスワードを受信すると（ステップＳ５０４）、図８に示すユーザ情報管理テーブル８００を用いて、ユーザの特定処理を行う。この時、管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３より受信したユーザＩＤ、パスワードの組と同じ情報が登録されているユーザ情報管理テーブル８００中のレコードが示すユーザを、ログインユーザとして特定する。
【００７２】
ここで、図８を参照して、管理サーバ１０１の外部メモリ２１１に記憶されているユーザ情報管理テーブル８００のデータ構成について説明する。ユーザ情報管理テーブル８００は、本情報システムを利用するユーザを管理するためのデータテーブルである。
【００７３】
図８に示す通り、ユーザ情報管理テーブル８００は、ユーザＩＤ８０１、パスワード８０２、ロケーションＩＤ８０３等のデータ項目を備えて構成されている。
【００７４】
ユーザＩＤ８０１は、ユーザ情報管理テーブル８００に登録されているユーザを一意に識別するための識別情報が登録されるデータ項目である。パスワード８０２は、認証の際に用いられるパスワードが登録されるデータ項目である。ロケーションＩＤ８０３は、当該ユーザの接続先となるロケーションを特定するロケーションＩＤが登録されるデータ項目である。
【００７５】
以上が、ユーザ情報管理テーブル８００のデータ構成である。
【００７６】
図５の説明に戻る。管理サーバ１０１のＣＰＵ２０１は、ステップＳ５０４で受信したユーザＩＤとパスワードを用いて行われるユーザ認証処理により、ユーザを特定することが出来なかった（ステップＳ５０５でＮＯ）と判定した場合には、処理をステップＳ５０６に進め、認証エラー情報をクライアント装置１０３に送信する。
【００７７】
クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から送信された認証エラー情報を受信すると、その情報をディスプレイ装置２１０に表示し、再度ユーザ認証処理を行うか（処理を継続するか）否かの指示入力をユーザの入力部操作に基づき受け付ける。そして、処理を継続すると判定した場合には（ステップＳ５０８でＹＥＳ）、ステップＳ５０１に処理を進め、それ以降の処理を再度実行する。一方、処理を継続しないと判定した場合には（ステップＳ５０８でＮＯ）、本図に示す処理を終了する。
【００７８】
管理サーバ１０１のＣＰＵ２０１は、ステップＳ５０５の判定処理で、ステップＳ５０４で受信したユーザＩＤ、パスワードを用いたユーザ認証処理で、ユーザが特定できた（ＹＥＳ）と判定した場合には、処理をステップＳ５０９に進め、認証処理により特定したユーザのロケーション情報（ロケーションＩＤ）を取得する。そして、取得したロケーションと、接続管理情報（例えば、クライアント装置１０３のＩＰアドレスや、Ｃｏｏｋｉｅ情報など）とを関連付けてＲＡＭ２０２に記憶する（ステップＳ５１０）。そして、図１３に示すＳＱＬ選択画面を表示するための画面情報を、クライアント装置１０３に送信する（ステップＳ５１１）。
【００７９】
クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から受信した画面情報を受信すると（ステップＳ５１２）、画面情報に従い、図１３に示すＳＱＬ選択画面１３００をディスプレイ装置２１０に表示する（ステップＳ５１３）。ＳＱＬ選択画面１３００には、図１０のテンプレートＳＱＬ管理テーブル１０００に登録されているＳＱＬが選択可能に表示される。
【００８０】
そして、ＳＱＬ選択画面１３００を表示が終了した後に、ＳＱＬ選択処理を行う。この処理の詳細は、図６を参照して説明する。以上が、ロケーション特定処理の一例の説明である。
【００８１】
次に、図６を参照して、図５のステップＳ５１４のＳＱＬ選択処理の詳細について説明する。この処理は、管理サーバ１０１のＣＰＵ２０１、及び、クライアント装置１０３のＣＰＵ２０１によって行われる処理である。
【００８２】
クライアント装置１０３のＣＰＵ２０１は、ＳＱＬ選択画面１３００をディスプレイ装置２１０に表示した後に、実行するＳＱＬの選択を受け付けたと判定した場合には（ステップＳ６０１でＹＥＳ）、処理をステップＳ６０２に進め、指定されたＳＱＬのＳＱＬ＿ＩＤ及び接続管理情報を、管理サーバ１０１に送信する。
【００８３】
管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３から送信されたＳＱＬ＿ＩＤ及び接続管理情報を受信すると（ステップＳ６０３）、受信したＳＱＬ＿ＩＤで特定されるＳＱＬをテンプレートＳＱＬ管理テーブル１０００から取得する（ステップＳ６０４）。そして、取得したＳＱＬにＶＡＬＵＥ＿ＩＤ（「｛」と「｝」で囲まれた文字列）が含まれるかを判定する（ステップＳ６０５）。
【００８４】
ステップＳ６０５の判定処理で、取得したＳＱＬにＶＡＬＵＥ＿ＩＤが含まれる（ＹＥＳ）と判定した場合には、処理をステップＳ６０６に進め、ステップＳ６０３で受信した接続管理情報に対応するロケーションＩＤを取得する。そして、ロケーションＩＤ、ＳＱＬ＿ＩＤをもとにＶＡＬＵＥ情報管理テーブル１１００に登録されているＶＡＬＵＥ情報を取得する（ステップＳ６０７）。そして、ＳＱＬ中のＶＡＬＵＥ＿ＩＤを、それぞれのＶＡＬＵＥ＿ＩＤに対応するＶＡＬＵＥ情報に登録されている値に変更する（ステップＳ６０８）。そして、ＶＡＬＵＥ＿ＩＤをＶＡＬＵＥ情報に基づき変更後のＳＱＬと、接続管理情報と関連付けてＲＡＭ２０２に記憶する。
【００８５】
尚、ＳＱＬ中のＶＡＬＵＥ＿ＩＤに対応するＶＡＬＵＥ情報が取得できなかった場合には、管理サーバ１０１のＣＰＵ２０１は、当該ＳＱＬ＿ＩＤで特定されるＳＱＬは、ロケーションＩＤで特定されるロケーション（のデータベースサーバ）では利用できないＳＱＬであると判定する。
【００８６】
ステップＳ６０５でＮＯ、または、ステップＳ６０８の処理終了後、管理サーバ１０１のＣＰＵ２０１は処理をステップＳ６０９に進め、図１４に示すＳＱＬ詳細画面１４００を表示するための画面情報を、クライアント装置１０３に送信する。
【００８７】
クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から送信された画面情報を受信すると（ステップＳ６１０）、受信した画面情報に従って、ディスプレイ装置２１０に図１４に示すＳＱＬ詳細画面１４００を表示する（ステップＳ６１１）。その後、処理をステップＳ６１２に進め、ＳＱＬ実行処理を行う。このＳＱＬ実行処理の詳細については、図７を参照して説明する。
【００８８】
以上が、ＳＱＬ選択処理の詳細な説明である。
【００８９】
ここで、図１４を参照して、クライアント装置１０３のディスプレイ装置２１０に表示されるＳＱＬ詳細画面１４００の構成の一例について説明する。
【００９０】
１４０１は、ＳＱＬ表示部であって、データベースサーバ１０２に対して送信するＳＱＬの内容が表示される表示部である。尚、図１４には、図１０のテンプレートＳＱＬ管理テーブル１０００に登録されているＳＱＬ＿ＩＤがＳｑｌ００１であるＳＱＬを、ロケーションＩＤがＬｏｃａｔｉｏｎ００１であるロケーションに設置されたデータベースサーバ１０２に対して送信する際のＳＱＬの例を示している。
【００９１】
尚、選択されたＳＱＬがユーザのロケーションで使用できないＳＱＬであった場合には、このＳＱＬ表示部１４０１には、選択されたＳＱＬがユーザのロケーションでは使用できない旨の通知が表示されることになる。
【００９２】
実行ボタン１４０２は、ＳＱＬ表示部１４０１に表示されているＳＱＬをデータベースサーバ１０２に対して送信する指示を入力するために用いられるボタンである。キャンセルボタン１４０３は、ＳＱＬをデータベースサーバ１０２に送信することなく、ＳＱＬ詳細画面１４００の表示を終了するために用いられるボタンである。
【００９３】
以上が、ＳＱＬ詳細画面１４００の構成の一例の説明である。
【００９４】
次に、図７を参照して、図６のステップＳ６１２のＳＱＬ実行処理の詳細について説明する。この処理は、管理サーバ１０１のＣＰＵ２０１、及び、クライアント装置１０３のＣＰＵ２０１によって行われる処理である。
【００９５】
クライアント装置１０３のＣＰＵ２０１は、ＳＱＬ詳細画面１４００中の実行ボタン１４０２に対する押下指示を受け付けたと判定すると（ステップＳ７０１）、ＳＱＬ実行指示及び接続管理情報を管理サーバ１０１に対して送信する（ステップＳ７０２）。この時、ＳＱＬ中のＶＡＬＵＥ＿ＩＤに実行時に値を設定するとされているものがある場合には、クライアント装置１０３のＣＰＵ２０１は、そのＶＡＬＵＥ情報の入力を受け付け、ＶＡＬＵＥ＿ＩＤとＶＡＬＵＥ情報を関連付けて管理サーバ１０１に対して送信することになる。
【００９６】
管理サーバ１０１のＣＰＵ２０１は、クライアント装置１０３から送信されたＳＱＬ実行指示、及び、接続管理情報を受信すると（ステップＳ７０３）、受信した接続管理情報に対応付けてＲＡＭ２０２に記憶されているロケーション情報を取得する（ステップＳ７０４）。そして、取得したロケーション情報に基づいて、当該ロケーションに設置されているデータベースサーバ１０２に接続するために必要なデータベース接続情報をロケーション情報管理テーブル９００より取得する（ステップＳ７０５）。
【００９７】
データベース接続情報を取得した後に、管理サーバ１０１のＣＰＵ２０１は、取得したデータベース接続情報をもとにして、接続先データベースサーバ１０２と接続し（ステップＳ７０６）、接続したデータベースサーバ１０２に対して、ＳＱＬを送信する（ステップＳ７０７）。
【００９８】
尚、実行するＳＱＬに、実行時に値を設定するＶＡＬＵＥ＿ＩＤが含まれる場合には、ステップＳ７０３において、クライアント装置１０３から送信されたＶＡＬＵＥ情報を受信することになるので、ＶＡＬＵＥ＿ＩＤをステップＳ７０３で受信したＶＡＬＵＥ情報に基づき変更した後に、ＳＱＬをデータベースサーバ１０２に対して送信する。
【００９９】
データベースサーバ１０２のＣＰＵ２０１は、管理サーバ１０１より送信されたＳＱＬを受信すると、受信したＳＱＬを実行し、その実行結果を得る。例えば、データ検索を行うためのＳＱＬを実行した場合には、その検索条件に合致したデータレコード中の特定の項目の値を取得することになる。そして、その実行結果を管理サーバ１０１に対して送信する。
【０１００】
管理サーバ１０１のＣＰＵ２０１は、データベースサーバ１０２からＳＱＬの実行結果を取得すると（ステップＳ７０８）、ＳＱＬの実行結果を表示させるための不図示の画面を表示するための画面情報を作成する（ステップＳ７０９）。そして、作成した画面情報を、ＳＱＬ実行指示を送信したクライアント装置１０３に送信する（ステップＳ７１０）。
【０１０１】
クライアント装置１０３のＣＰＵ２０１は、管理サーバ１０１から送信された画面情報を受信すると（ステップＳ７１１）、受信した画面情報に従って、ＳＱＬ実行結果を表示するための不図示の画面をディスプレイ装置２１０に表示する（ステップＳ７１２）。
【０１０２】
その後、ユーザの操作指示により、終了指示を受け付けると、本図に示す処理を終了する。また、クライアント装置１０３のＣＰＵ２０１は、ＳＱＬ実行画面１４００のキャンセルボタン１４０３に対する押下指示を受け付けた場合には（この場合、ステップＳ７１６でＹＥＳと判定する）、管理サーバ１０１に対してＳＱＬの実行指示を行うことなく、本図に示す処理を終了する。
【０１０３】
以上が、ＳＱＬ実行処理の詳細な説明である。
【０１０４】
以上説明したように、本発明によれば、各拠点で同一のデータベース構造をもった複数のデータベースを操作するためのＳＱＬをそれぞれ作成する必要がなくなり、作業の効率を図ることが可能となる。
【０１０５】
また、ログインユーザのロケーション情報に応じて、接続先とするデータベースサーバを自動的に決定することが可能となり、処理対象のデータベースの特定を行わなくても良くなる。これにより、接続先データベースを誤ってしまうことにより発生する作業ミスなども提言することが可能となるという派生的な効果も得られる。
【０１０６】
以上、実施形態例を詳述したが、本発明は、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。
【０１０７】
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能（読み取り可能）なプログラムであり、本発明の記録媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
【０１０８】
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
【０１０９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１１１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１１２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１６】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１１７】
１０１  管理サーバ
１０２  データベースサーバ（ＤＢサーバ）
１０３  クライアント装置
１０４  ＬＡＮ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信インタフェース（Ｉ／Ｆ）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
2014085789.tif 000003
【図２】
2014085789.tif 000004
【図３】
2014085789.tif 000005
【図４】
2014085789.tif 000006
【図５】
2014085789.tif 000007
【図６】
2014085789.tif 000008
【図７】
2014085789.tif 000009
【図８】
2014085789.tif 000010
【図９】
2014085789.tif 000011
【図１０】
2014085789.tif 000012
【図１１】
2014085789.tif 000013
【図１２】
2014085789.tif 000014
【図１３】
2014085789.tif 000015
【図１４】
2014085789.tif 000016