(57)【要約】【課題】異なるデータベースアクセス方式を一つのインタフェースで統一する方法およびそのためのデータベース操作手続きを自動生成する方法を提供する。【解決手段】ユーザプログラム５８０は、予め自動生成したテーブルクラス５４１、テーブルコレクションクラス５４２、テーブルアクセスクラス５４３を用いて、クライアント２０から受信したデータベース操作種別およびデータを、対応したデータベースアクセス方式に準拠したデータベース操作手続きに変換し、そのデータベース操作手続きを用いてＤＢ１０にアクセス要求を出すようにした。その結果、同一のインタフェースで複数のデータベースアクセス方式を容易に使い分けることができ、ソフトウェア開発者の負担を軽減することができる。また、データベースの利用者もデータベースを容易に利用できるようになる。【選択図】  図５
2004302840.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるデータベースアクセス方式を用いてデータベースをアクセスするデータベースアクセス方法において、
端末から前記データベースをアクセスするためのデータおよびデータベース操作種別を受信し、前記受信したデータベース操作種別を識別し、前記識別したデータ操作種別に対応したデータベースアクセス方式で定められた所定の規則に準拠したデータベースアクセス形式に前記データおよびデータベース操作種別を変換し、前記データベースアクセス形式を用いて前記データベースにアクセス要求を出すことを特徴とするデータベースアクセス方法。
【請求項２】
前記データベースアクセス形式への変換は、前記受信したデータを前記データベースの対応するテーブルと同一形式で格納するためのテーブルクラスおよび前記データベースアクセス方式に対応した制御用のテーブルアクセスクラスを、前記データベースのテーブルに対応付けて予め生成しておき、前記受信したデータを対応する前記テーブルクラスに格納し、前記識別したデータ操作種別に対応した前記テーブルアクセスクラスに記述された前記所定の規則にしたがって前記データおよびデータベース操作種別を変換する
ことを特徴とする請求項１に記載のデータベースアクセス方法。
【請求項３】
前記テーブルクラスおよびテーブルアクセスクラスの生成は、前記データベースのテーブルに対応して予め準備されているテーブルクラス生成用雛形ファイル、および前記データベースアクセス方式に対応して予め準備されているテーブルアクセスクラス雛形ファイルと、前記データベースの属性情報をもとに生成する
ことを特徴とする請求項２に記載のデータベースアクセス方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の異なるデータベースアクセス方式によるデータベースへのアクセスを同一のインタフェースでアクセスできるようにするためのデータベースアクセス方法に関するものである。
【０００２】
【従来の技術】
データベースにアクセスするためには、使用するデータベースアクセス方式として定められた規約に準拠したデータベース操作手続きを記述しなければならない。したがって、例えば、大量のデータをデータベースに登録する場合には高速に登録処理を行なうことができるＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）ローダを使用してバッチ処理的に登録する。しかし、データベースを検索したり更新するような場合には、登録機能しかないＳＱＬローダを使用することはできないため、ＪＤＢＣ（Ｊａｖａ（登録商標）  ＤａｔａＢａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ）など別のデータベースアクセス方式のソフトウェアを使用してデータベースにアクセスすることになる。このように、複数の異なるデータベースアクセス方式を用いてデータベースをアクセスするためには、各データベースアクセス方式で規定された形式に準拠したデータベース操作手続きを記述するというように、データベースアクセス方式によりデータベース操作手続きを使い分ける必要があった。
【０００３】
そのため、従来の複数の異なるデータベースアクセス方式を使用したデータベースのアクセスにおいては、ソフトウェア開発者によるアプリケーション・ソフトウェアなどの開発作業が複雑になったり、データベース利用者にとってデータベースのアクセスが面倒であるといった問題があった。また、データベースのテーブル構造に応じて人が手書きでクラス等を定義しなければならないため、手間がかかっていた。尚、従来技術としては特許文献１が公開されている。
【０００４】
【特許文献１】
特開平５−１９７６００号公報
【０００５】
【発明が解決しようとする課題】
本発明は、上記の問題に鑑みてなされたもので、複数の異なるデータベースアクセス方式を使用したデータベースへのアクセスを容易にするために、データベースのアクセス方式が異なっても一つのインタフェースで統一するデータベースのアクセス方法、およびそのためのクラスやデータベース操作手続きを自動生成する方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項１に記載の発明は、複数の異なるデータベースアクセス方式を用いてデータベースをアクセスするデータベースアクセス方法において、端末から前記データベースをアクセスするためのデータおよびデータベース操作種別を受信し、前記受信したデータベース操作種別を識別し、前記識別したデータ操作種別に対応したデータベースアクセス方式で定められた所定の規則に準拠したデータベースアクセス形式に前記データおよびデータベース操作種別を変換し、前記データベースアクセス形式を用いて前記データベースにアクセス要求を出すことを特徴とするデータベースアクセス方法である。
【０００７】
請求項２に記載の発明は、請求項１に記載のデータベースアクセス方法において、前記データベースアクセス形式への変換は、前記受信したデータを前記データベースの対応するテーブルと同一形式で格納するためのテーブルクラスおよび前記データベースアクセス方式に対応した制御用のテーブルアクセスクラスを、前記データベースのテーブルに対応付けて予め生成しておき、前記受信したデータを対応する前記テーブルクラスに格納し、前記識別したデータ操作種別に対応した前記テーブルアクセスクラスに記述された前記所定の規則にしたがって前記データおよびデータベース操作種別を変換することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載のデータベースアクセス方法において、前記テーブルクラスおよびテーブルアクセスクラスの生成は、前記データベースのテーブルに対応して予め準備されているテーブルクラス生成用雛形ファイル、および前記データベースアクセス方式に対応して予め準備されているテーブルアクセスクラス雛形ファイルと、前記データベースの属性情報をもとに生成することを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態によるデータベースアクセス方法について説明する。ここでは、２通りのデータベースアクセス方式（ＪＤＢＣおよびＳＱＬローダ）を使用する場合に本発明を適用したデータベースアクセス方法について図１を参照して説明する。図１は本発明をアプリケーションサーバ（ＡＰサーバ）に適用した実施の形態によるシステム全体を示すブロック図である。図１において、１０は、様々なデータを格納するデータベース（ＤＢ）である。２０は利用者がＤＢ１０をアクセスする際に利用するクライアント（端末）であり、３０はＤＢ１０を利用して様々な処理を行なう社内システムである。５０は、本発明を適用した各種のアプリケーションサービスを提供するＡＰサーバであり、Ｗｅｂ系（オンライン）の機能が実行されるＷｅｂ系ＤＢアクセス部５４０とバッチ系の機能が実行されるバッチ系ＤＢアクセス部５６０およびユーザプログラム５８０で構成（特許請求の範囲に記載のデータベースアクセス手段に相当）される。
【００１０】
Ｗｅｂ系ＤＢアクセス部５４０は、ＪＤＢＣを使用してＤＢ１０に対して検索、更新、登録および削除の全ての操作を可能としている。これに対して、バッチ系ＤＢアクセス部５６０は、ＳＱＬローダを使用してＤＢ１０に対して登録の操作のみを可能としている。そのため、バッチ系ＤＢアクセス部５６０は、Ｗｅｂ系ＤＢアクセス部５４０よりも高速にＤＢ１０に登録操作を行なうことが可能である。また、ユーザプログラム５８０は、クライアント２０や社内システム３０とのインタフェースを司るとともに、Ｗｅｂ系ＤＢアクセス部５４０やバッチ系ＤＢアクセス部５６０を制御してＤＢ１０にアクセスする。
【００１１】
なお、図１に示した各処理部は専用のハードウェアにより実現されるものであってもよく、また、これらの処理部はメモリおよびＣＰＵ（中央演算装置）により構成され、各処理部に機能を実現するためのプログラム（図示せず）をメモリにロードして実行することによりその機能を実現させるものであってもよい。また、記憶部（図示せず）は、ハードディスク装置や光ディスク装置、フラッシュメモリなどの不揮発性メモリや、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組合せにより構成されるものとする。
【００１２】
また、図１における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器などのハードウェアを含むものとする。
【００１３】
次に、本発明の実施の形態の動作の概要について図１を参照して説明する。図１において、クライアント２０や社内システム３０からＤＢ１０にアクセスする際、ＤＢ１０にデータを登録する場合には、クライアント２０または社内システム３０でＪＤＢＣまたはＳＱＬローダのいずれを使用するかを指定することにより、ユーザプログラム５３０は指定されたＪＤＢＣまたはＳＱＬローダに対応したＷｅｂ系ＤＢアクセス部５４０またはバッチ系ＤＢアクセス部５６０のいずれかを選択し、選択したＷｅｂ系ＤＢアクセス部５４０またはバッチ系ＤＢアクセス部５６０を制御してＤＢ１０にアクセスしデータを登録する。また、ＤＢ１０に対して検索、更新および削除のいずれかを行なう場合には、ユーザプログラム５８０の制御によりＷｅｂ系ＤＢアクセス部５４０によってＪＤＢＣを使ってＤＢ１０をアクセスして、検索、更新または削除の処理を行なう。なお、これらの動作の詳細については後述する。
【００１４】
次に、図１のＷｅｂ系ＤＢアクセス部５４０、バッチ系ＤＢアクセス部５６０におけるＤＢアクセスクラスの自動生成について、図２を参照して説明する。図２において、図１と同一部分には同一符号を付して、その説明を省略する。図２は、ＤＢアクセスクラス自動作成プログラムによってＤＢアクセスクラスを自動生成する仕組みを示す図である。ここで、ＤＢアクセスクラスとは、ＤＢ１０をアクセスするために必要な情報であるデータ、テーブル名、データベース操作内容などのデータや制御情報を格納するためのクラスである。
【００１５】
図２において、ＤＢ１０はデータのほかに属性情報１１を保持している。属性情報１１は、テーブル名、カラム名、データ型といったＤＢ１０に格納されているテーブルに関する情報である。５１０はＤＢアクセスクラス５３０を自動生成するために必要な６種類の雛形ファイルから構成される雛形ファイルの総称である。５１１はＤＢ１０の属性情報１１のテーブル名に対応したテーブルクラス５４１を生成するためのテーブルクラス生成用雛型ファイルであり、そのファイルの中にＤＢ１０の属性情報１１に置換するための置換用文字列が埋め込まれている。５１２はテーブルコレクションクラス５４２を生成するためのコレクションクラス生成用雛型ファイルであり、その中に属性情報１１に置換するための置換用文字列が埋め込まれている。
【００１６】
また、５１３はテーブルアクセスクラス５４３を生成するためのテーブルアクセスクラス生成用雛型ファイルであり、その中に属性情報１１に置換するための置換用文字列が埋め込まれている。５１４はＳＱＬローダ実行用クラス５６１を生成するためのＳＱＬローダ実行用クラス生成用雛型ファイルであり、その中に属性情報１１に置換するための置換用文字列が埋め込まれている。５１５はＣＴＬファイル５６２を生成するためのＣＴＬファイル生成用雛型ファイルであり、その中に属性情報１１に置換するための置換用文字列が埋め込まれている。５１６は登録データＣＳＶファイル作成用クラス５６３を生成するための雛型ファイルであり、その中に属性情報１１に置換するための置換用文字列が埋め込まれている。
【００１７】
そして、５２０は、雛型ファイル５１０とＤＢ１０より取得するテーブル名、カラム名、データ型といった属性情報１１を入力情報として、ＤＢアクセスクラス５３０の自動生成を行うＤＢアクセスクラス自動生成プログラムである。ＤＢアクセスクラス５３０は、Ｗｅｂ系ＤＢアクセス部５４０およびバッチ系ＤＢアクセス部５６０の各クラスから構成され、ＤＢ１０にアクセスするために必要な情報を持つ様々なクラスの総称である。
【００１８】
ＪＤＢＣを使用してＤＢ１０へのアクセス処理を行うＷｅｂ系ＤＢアクセス部５４０のクラスは、テーブルクラス群５４１ｇ、テーブルコレクションクラス群５４２ｇおよびテーブルアクセスクラス群５４３ｇで構成される。ここで、テーブルクラス群５４１ｇ、テーブルコレクションクラス群５４２ｇおよびテーブルアクセスクラス群５４３ｇは、それぞれ、ＤＢ１０のテーブルの数だけテーブルクラス５４１、テーブルコレクションクラス５４２、テーブルアクセスクラス５４３を持つクラスである。
【００１９】
テーブルクラス５４１は、ＤＢ１０のテーブルに対応したクラスであり、テーブルアクセスクラス５４３に送るキー項目、更新用データ、登録用データを設定する。テーブルコレクションクラス５４２は、テーブルクラス５４１をｖｅｃｔｏｒ型で複数持つことができ、同じ顔つきをした複数行のデータの扱いを簡単にすることを目的とするクラスである（テーブルクラス５４１とテーブルコレクションクラス５４２は特許請求の範囲に記載のテーブルクラスに相当）。テーブルアクセスクラス５４３は、ＪＤＢＣを使用してＤＢ１０にアクセスするための制御用のクラスである。
【００２０】
また、ＳＱＬローダを使用してＤＢ１０へのアクセス処理を行うバッチ系ＤＢアクセス部５６０は、ＳＱＬローダ実行用クラス群５６１ｇ、ＣＴＬファイル群５６２ｇおよび登録データＣＳＶファイル作成用クラス群５６３ｇで構成される。ここで、ＳＱＬローダ実行用クラス群５６１ｇ、ＣＴＬファイル群５６２ｇおよび登録データＣＳＶファイル作成用クラス群５６３ｇは、それぞれ、ＳＱＬローダ実行用クラス５６１、ＣＴＬファイル５６２、登録データＣＳＶファイル作成用クラス５６３をテーブル数だけ備えている。ＳＱＬローダ実行用クラス５６１は、ＤＢ１０にＳＱＬローダを使用してアクセスするための制御用のクラスである。ＣＴＬファイル５６２は、ＳＱＬローダを使用するために必要な設定ファイルである。登録データＣＳＶファイル作成用クラス５６３は、ＳＱＬローダ実行用クラス５６１に送る登録データをＣＳＶファイルとして作成するための制御用のクラスである。
【００２１】
次に、図２を参照してＤＢアクセスクラスを自動生成する動作について説明する。図２において、まず、ＤＢアクセスクラス自動生成プログラム５２０は、ＤＢ１０に接続し（ステップＳ１）、ＤＢ１０より属性情報１１を取得する（ステップＳ２）。また、ＤＢアクセスクラス自動生成プログラム５２０は、テーブルクラス生成用雛型ファイル５１１を読み込み、テーブルクラス生成用雛形ファイル５１１の中の置換用文字列をステップＳ２で取得した属性情報１１に置換し、テーブルクラス５４１を作成する。これを、属性情報１１、すなわちテーブルの数だけ繰り返しテーブルクラス群５４１ｇを作成する（ステップＳ３）。このテーブルクラスの作成の詳細については、具体例を用いて後述する。
【００２２】
そして、ＤＢアクセスクラス自動生成プログラム５２０は、同様にして、テーブルコレクションクラス生成用雛型ファイル５１２、テーブルアクセスクラス生成用雛型ファイル５１３、ＳＱＬローダ実行用クラス生成用雛型ファイル５１４、ＣＴＬファイル生成用雛型ファイル５１５、登録データＣＳＶファイル作成用クラス生成用雛型ファイル５１６、および属性情報１１をもとに、テーブルコレクションクラス群５４２ｇ、テーブルアクセスクラス郡５４３ｇ、ＳＱＬローダ実行用クラス群５６１ｇ、ＣＴＬファイル群５６２ｇ、登録データＣＳＶファイル作成用クラス群５６３ｇを作成し（ステップＳ４〜ステップＳ８）、ＤＢアクセスクラス５３０の生成を終了する。
【００２３】
次に、図２で説明したＤＢアクセスクラス自動生成プログラム５２０によって、テーブルクラス生成用雛形ファイル５１１からテーブルクラス（ファイル）５４１を作成した一例を図３、図４に示す。図３はデータベースＤＢ１０の属性情報１１の取り出しおよびテーブルクラス生成用雛形ファイル５１１の一例（関連する部分を抜粋）を示す図であり、図４は作成されたテーブルクラス（ファイル）５４１の一例（関連部分を抜粋）を示す図である。図３に示すテーブルクラス生成用雛形ファイル５１１の中の置換用文字列の部分がＤＢ１０の該当する属性情報１１の内容により置換されて図４に示すテーブルクラス（ファイル）５４１が作成される。
【００２４】
例えば、図３の３行目のｐｕｂｌｉｃ  ｃｌａｓｓ  Ｔａｂｌｅ％ＴＡＢＬＥ＿ＮＡＭＥ％｛の中のＴａｂｌｅは置換用文字列％ＴＡＢＬＥ＿ＮＡＭＥ％を属性情報１１のテーブル名と置換することを意味しているため、この部分をテーブル名ＵＳＥＲに置換し、図４の３行目に示すようにｐｕｂｌｉｃ  ｃｌａｓｓ  ＴａｂｌｅＵＳＥＲ｛に変換される。テーブルクラス生成用雛形ファイル５１１の中の他の置換用文字列の部分についても、同様にして置換され、テーブルクラス（ファイル）５４１が作成される。また、図２に示したテーブルコレクションクラス５４２など他のクラスについても、テーブルクラス５４１の場合と同様にして作成される。
【００２５】
次に、ＤＢ１０へデータを登録する場合の動作について図５を参照して説明する。図５は、クライアント２０からＤＢ１０にデータを登録する場合の動作の流れを示す図である。図５において、図１または図２と同一部分には同一符号を付して、その説明を省略する。図５において、ユーザプログラム５８０は、クライアント２０から登録するデータを受け取ると（ステップＳ５０）、受け取ったデータをテーブルクラス５４１に設定する。この際、受け取ったデータが複数行ある場合には、１行分のデータをそれぞれ一つのテーブルクラス５４１に設定するため、テーブルクラス５４１は行数分の数だけ設定されることになる（ステップＳ５１）。
【００２６】
また、ユーザプログラム５８０は、設定したテーブルクラス５４１を全てテーブルコネクションクラス５４２に設定する（ステップＳ５２）。そして、ユーザプログラム５８０は、ステップＳ５０でデータとともに受信した、データベースを操作するメソッド（関数）（データベース操作種別）を識別し、その結果をもとに対応するＪＤＢＣまたはＳＱＬローダのメソッドをテーブルアクセスクラス５４３に対してコールする（ステップＳ５３）。コールされたテーブルアクセスクラス５４３のメソッドは、所定の方法でＤＢ１０にデータを登録する（ステップＳ５４）。
【００２７】
次に、図５で説明したＤＢ１０への登録動作についてさらに詳細に説明する。ここでは、ＪＤＢＣとＳＱＬローダを使用して、ＤＢ１０に格納されているテーブル名が「ユーザ」であるテーブルに２つのデータを登録することとする。まず、図６を参照してＪＤＢＣを使用してＤＢ１０にデータを登録する場合の動作について説明する。図６はＪＤＢＣを使用したＤＢアクセスクラスの方式のイメージを示す図である。図６において、ユーザテーブルクラス５４１ｕはＤＢ１０の「ユーザ」テーブルに対応したテーブルクラスであり、ユーザテーブルコレクションクラス５４２ｕはユーザテーブルクラス５４１ｕのコレクションクラスである。
【００２８】
図６において、ユーザプログラム５８０は、クライアント２０から受け取ったユーザ番号、名字、名前およびメールアドレスで構成されるユーザ番号１１とユーザ番号１２の２つのデータをそれぞれユーザテーブルクラス５４１ｕの対応するユーザ番号、名字、名前およびメールアドレスの欄に設定し（ステップＳ６１）、設定した２つのユーザテーブルクラス５４１ｕを順次、ユーザテーブルコレクションクラス５４２ｕに設定する（ステップＳ６２）。また、データの登録を行なうＪＤＢＣのメソッドｉｎｓｅｒｔＴａｂｌｅＵｓｅｒｓをユーザテーブルコレクションクラス５４２ｕのオブジェクト名ｔａｂｌｅＵｓｅｒｓを引数としてコールする（ステップＳ６３）。
【００２９】
そして、ユーザプログラム５８０は、コールされたｉｎｓｅｒｔＴａｂｌｅＵｓｅｒｓメソッドに対応したＳＱＬ文を作成するために、引数として受け渡されたオブジェクト名ｔａｂｌｅＵｓｅｒｓのユーザテーブルコレクションクラス５４２ｕから対応するユーザテーブルクラス５４１ｕを取り出し（ステップＳ６４）、ユーザテーブルクラス５４１ｕに設定されている、ユーザ番号、名字、名前およびメールアドレスと対応するテーブル名を作成するＳＱＬ文ＩＮＳＥＲＴの所定の箇所に設定し、２つのＳＱＬ文を作成する（ステップＳ６５）。この２つのＳＱＬ文を用いてＤＢ１０にアクセスすることによって、２つのデータがＤＢ１０に登録される。
【００３０】
次に、図７を参照してＳＱＬローダを使用してＤＢ１０にデータを登録する場合の動作について説明する。図７において、図６と同一部分には同一符号を付してある。図７は、ＳＱＬローダを使用したＤＢアクセスクラスの方式のイメージを示す図である。図７において、ユーザプログラム５８０は、クライアント２０から受け取ったユーザ番号、名字、名前およびメールアドレスで構成されるユーザ番号１１とユーザ番号１２の２つのデータをそれぞれユーザテーブルクラス５４１ｕの対応するユーザ番号、名字、名前およびメールアドレスの欄に設定し（ステップＳ７１）、これをユーザテーブルコレクションクラス５４２ｕに設定する（ステップＳ７２）。そして、登録を行なうＳＱＬローダのメソッドａｐｐｅｎｄＴａｂｌｅＵｓｅｒｓをユーザテーブルコレクションクラスのオブジェクト名ｔａｂｌｅＵｓｅｒｓを引数としてコールする（ステップＳ７３）。
【００３１】
次に、ユーザプログラム５８０は、コールされたａｐｐｅｎｄＴａｂｌｅＵｓｅｒｓメソッドの引数として受け渡されたオブジェクト名ｔａｂｌｅＵｓｅｒｓのユーザテーブルコレクションクラス５４２ｕから対応するユーザテーブルクラス５４１ｕを取り出し（ステップＳ７４）、ユーザテーブルクラス５４１ｕに設定されているユーザ番号、名字、名前およびメールアドレスを用いて、ＣＳＶファイルを出力する（ステップＳ７５）。また、ユーザプログラム５８０は、ユーザテーブルクラス５４１ｕを用いてＳＱＬローダコマンドを作成し（ステップＳ７６）、実行する。これにより、ＣＳＶファイル内の２つのデータがＤＢ１０に登録される。
【００３２】
このように、ＪＤＢＣをコールするためのメソッドｉｎｓｅｒｔＴａｂｌｅＵｓｅｒ（ｔａｂｌｅＵｓｅｒｓ  ｔａｂｌｅｓ）とＳＱＬローダをコールするためのメソッａｐｐｅｎｄＴａｂｌｅＵｓｅｒｓ（ｔａｂｌｅＵｓｅｒｓ  ｔａｂｌｅｓ）は、ＪＤＢＣとＳＱＬローダでメソッドの名前は異なるが、その引数ｔａｂｌｅＵｓｅｒｓ  ｔａｂｌｅｓは同じになるため、アプリケーション・ソフトウェアの開発やデータベース利用者はＪＤＢＣとＳＱＬローダのメソッド名のみを意識すればよい。
【００３３】
【発明の効果】
以上説明したように、この発明の請求項１および請求項２によれば、予め生成したテーブルクラスおよびテーブルアクセスクラスを用いて、端末から受信したデータベース操作種別を識別し、そのデータ操作種別に対応したデータベースアクセス方式に準拠したデータベースアクセス形式に受信したデータベース操作種別およびデータを変換し、このデータベースアクセス形式を用いてデータベースにアクセス要求を出すようにした。その結果、同一のインタフェースで複数のデータベースアクセス方式を容易に使い分けることができるようになり、アプリケーション・ソフトウェアなどのソフトウェア開発者の開発作業の負担を軽減することができる。また、データベースの利用者もデータベースを容易に利用できるようになる。さらに、データベースへのアクセスのルールを統一することにより、処理構造がわかりやすくなり、作業効率、保守性を向上することができる。
また、この発明の請求項３によれば、テーブルクラスおよびテーブルアクセスクラスの生成は、データベースのテーブルに対応して予め準備されているテーブルクラス生成用雛形ファイル、およびデータベースアクセス方式に対応して予め準備されているテーブルアクセスクラス生成用雛形ファイルと、データベースに予め格納されている属性情報をもとに自動的に生成するようにした。その結果、テーブル構造に応じて人が手書きでクラス等を定義する手間が無くなり、特に、テーブル数の多いデータベースほど手間を大幅に減らすことができる。
【図面の簡単な説明】
【図１】この発明の一実施形態によるデータベースアクセス方法を適用したシステムの構成を示すブロック図である。
【図２】同実施形態によるＤＢアクセスクラスの自動生成の仕組みを示す図である。
【図３】同実施形態によるテーブルクラス生成用雛形ファイルの一例を示す図である。
【図４】同実施形態によるテーブルクラス（ファイル）の一例を示す図である。
【図５】同実施形態によるクライアントからデータベースにデータを登録する場合の動作の流れを示す図である。
【図６】同実施形態によるＪＤＢＣを使用したＤＢアクセスクラスの方式のイメージを示す図である。
【図７】同実施形態によるＳＱＬローダを使用したＤＢアクセスクラスの方式のイメージを示す図である。
【符号の説明】
１０…データベース（ＤＢ）、２０…クライアント、３０…社内システム、５０…ＡＰサーバ（アプリケーションサーバ）、５１０…雛形ファイル、５２０…ＤＢアクセスクラス自動生成プログラム、５３０…ＤＢアクセスクラス、５４０…Ｗｅｂ系ＤＢアクセス部、５６０…バッチ系ＤＢアクセス部、５８０…ユーザプログラム
【図１】
2004302840.tif 000003
【図２】
2004302840.tif 000004
【図３】
2004302840.tif 000005
【図４】
2004302840.tif 000006
【図５】
2004302840.tif 000007
【図６】
2004302840.tif 000008
【図７】
2004302840.tif 000009