(57)【特許請求の範囲】
【請求項１】
互いに異なる構造を有するデータベース間でデータを移行するためのデータ移行用ツールを生成するための情報処理装置であって、
移行元データベースに含まれる共通項目に係るデータを、前記移行元データベースとは異なる構造を有する移行先データベースにおいて用いられるデータ構造に即したデータに変換するための、共通項目移行用プログラムを取得する共通項目移行用プログラム取得手段と、
前記移行元データベースに含まれユーザの指定に係る指定項目に係るデータを、前記移行先データベースにおいて用いられるデータ構造に即したデータに変換する変換用プログラムを、前記指定項目の夫々について取得し、組み合わせることで指定項目移行用プログラムを生成するための、指定項目移行用プログラム生成手段と、
前記共通項目移行用プログラムと前記指定項目移行用プログラムとを合わせることでデータ移行用ツールを生成するデータ移行用ツール生成手段と、
を備える情報処理装置。
【請求項２】
前記移行元データベースに含まれる項目のうち、移行元データベースと同様の構造且つ標準的な項目を有する基準データベースと共通する項目を、前記共通項目として特定する共通項目特定手段を更に備える、
請求項１に記載の情報処理装置。
【請求項３】
前記移行元データベースに含まれる項目であって前記共通項目として抽出されなかった項目のうち、ユーザが前記移行先データベースへの移行を所望する項目を、前記指定項目として特定する指定項目特定手段を更に備える、
請求項１または２に記載の情報処理装置。
【請求項４】
コンピュータが、
移行元データベースに含まれる共通項目に係るデータを、前記移行元データベースとは異なる構造を有する移行先データベースにおいて用いられるデータ構造に即したデータに変換するための、共通項目移行用プログラムを取得する共通項目移行用プログラム取得ステップと、
前記移行元データベースに含まれユーザの指定に係る指定項目に係るデータを、前記移行先データベースにおいて用いられるデータ構造に即したデータに変換する変換用プログラムを、前記指定項目の夫々について取得し、組み合わせることで指定項目移行用プログラムを生成するための、指定項目移行用プログラム生成ステップと、
前記共通項目移行用プログラムと前記指定項目移行用プログラムとを合わせることでデータ移行用ツールを生成するデータ移行用ツール生成ステップと、
を実行するデータ移行用ツール生成方法。
【請求項５】
コンピュータを、
移行元データベースに含まれる共通項目に係るデータを、前記移行元データベースとは異なる構造を有する移行先データベースにおいて用いられるデータ構造に即したデータに変換するための、共通項目移行用プログラムを取得する共通項目移行用プログラム取得手段と、
前記移行元データベースに含まれユーザの指定に係る指定項目に係るデータを、前記移行先データベースにおいて用いられるデータ構造に即したデータに変換する変換用プログラムを、前記指定項目の夫々について取得し、組み合わせることで指定項目移行用プログラムを生成するための、指定項目移行用プログラム生成手段と、
前記共通項目移行用プログラムと前記指定項目移行用プログラムとを合わせることでデータ移行用ツールを生成するデータ移行用ツール生成手段と、
として機能させるためのデータ移行用ツール生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データベース間でデータを移行するための技術に関する。
【背景技術】
【０００２】
従来、データを移行させるために必要なシェルスクリプトを全て作成し、自動的に実行させることで、データベースの移行作業を自動的に行うデータベース自動移行システムが提案されている（特許文献１を参照）。
【０００３】
また、データ移行プログラムを固定ロジック部分と可変部分に分割し、可変部分を定義表により自動生成することで、プログラムコーディングすることなく生成するデータ移行プログラム生成方式が提案されている（特許文献２を参照）。
【０００４】
更に、データ形式等が異なるデータベース間のデータ移行システムにおいて、データ定義体等のレコードおよびフィールドの正確な情報がない場合においても候補の自動生成、決定のための支援、検証を行うデータベース移行方式が提案されている（特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７１２２５号公報
【特許文献２】特開平１０−４００８９号公報
【特許文献３】特開平８−１９０４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、データベースの移行作業や、移行用ツールの生成を自動化するための技術が種々提案されている。しかし、このような技術は、構造が共通するデータベース間での移行作業を自動化するものであり、構造の異なるデータベース間でデータを移行する際には、その作業の自動化を可能とするようなものではなかった。
【０００７】
また、構造の異なるデータベース間でデータを移行するためのツールも種々提案されている。しかし、このような技術は、移行のための支援を行うのみであり、移行用ツール自体はユーザが作成する必要があるため、ユーザによる作業の手間の軽減は不十分なものであった。
【０００８】
本発明は、上記した問題に鑑み、構造の異なるデータベース間でデータを移行するためのデータ移行用ツールを生成する際の手間を軽減することを課題とする。
【課題を解決するための手段】
【０００９】
より詳細には、本開示に係る情報処理装置は、互いに異なる構造を有するデータベース間でデータを移行するためのデータ移行用ツールを生成するための情報処理装置であって、移行元データベースに含まれる共通項目に係るデータを、前記移行元データベースとは異なる構造を有する移行先データベースにおいて用いられるデータ構造に即したデータに変換するための、共通項目移行用プログラムを取得する共通項目移行用プログラム取得手段と、前記移行元データベースに含まれユーザの指定に係る指定項目に係るデータを、前記移行先データベースにおいて用いられるデータ構造に即したデータに変換する変換用プログラムを、前記指定項目の夫々について取得し、組み合わせることで指定項目移行用プ
ログラムを生成するための、指定項目移行用プログラム生成手段と、前記共通項目移行用プログラムと前記指定項目移行用プログラムとを合わせることでデータ移行用ツールを生成するデータ移行用ツール生成手段と、を備える情報処理装置である。
【００１０】
また、本開示は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本開示は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００１１】
本開示に係る情報処理装置、データ移行用ツール生成方法およびプログラム等によれば、構造の異なるデータベース間でデータを移行するためのデータ移行用ツールを生成する際の手間を軽減することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るシステムの構成の概略を示す図である。
【図２】実施形態に係る移行元データベースの構成を示す図である。
【図３】実施形態に係る移行作業用端末の機能構成の概略を示す図である。
【図４】実施形態に係るデータ移行用ツール生成・実行処理の流れを示すフローチャートである。
【図５】実施形態に係る指定項目移行用プログラムモジュール生成処理の流れを示すフローチャートである。
【図６】実施形態に係るデータ移行用ツールを実行した結果出力されるＣＳＶファイルの構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、本開示に係る情報処理装置等の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置等を以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００１４】
本実施形態において、本開示に係る情報処理装置は、移行作業用端末１として実施される。但し、本開示の適用対象は、互いに異なる構造を有するデータベース間でデータを移行するためのデータ移行用ツールを生成するためのシステムであればよく、本実施形態において説明する移行作業用端末１に限定されない。たとえば、情報処理装置は、１または複数のサーバによってデータ移行用ツールが生成されるシステムとして実施されてもよい。
【００１５】
＜システムの構成＞
図１は、本実施形態に係るシステムの構成の概略を示す図である。本実施形態に係るシステムは、業務に係る各種情報が蓄積されている移行元データベース３１と、移行元データベース３１とは異なる構造を有する移行先データベース３２と、移行元データベース３１と同様の構造を有する基準データベース３３と、移行作業用端末１と、が互いに接続されたシステムである。ここで、データベースの構造には、採用されるデータベースの種類によって異なる、データの保持の方式や、データの管理情報の方式、等が含まれる。即ち、本実施形態において、移行元データベース３１と移行先データベース３２とは、互いにデータの保持の方式やデータの管理情報の方式等が異なるデータベースである。
【００１６】
移行作業用端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２と、ＲＯＭ（Ｒｅａｄ
Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３と、補助記憶装置１９と、ネットワークを介した外部との通信を行うためのネットワークインターフェース１６と、ディスプレイやマウス、キーボード等の入出力装置１８と、が電気的に接続された情報処理装置である。なお、情報処理装置の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が行われてよい。
【００１７】
ＣＰＵ１１は、中央処理装置であり、ＲＡＭ１２およびＲＯＭ１３等に展開された命令及びデータを処理することで、ＲＡＭ１２、補助記憶装置１９、入出力装置１８等の、移行作業用端末１に備えられた各構成を制御する。また、ＲＡＭ１２は、主記憶装置であり、ＣＰＵ１１によって制御され、各種命令やデータが書き込まれ、読み出される。即ち、ＣＰＵ１１、ＲＡＭ１２、およびＲＯＭ１３は、移行作業用端末１の制御部を構成する。
【００１８】
補助記憶装置１９は、不揮発性の記憶装置であり、主に移行作業用端末１の電源を落としても保持したい情報、例えば、ＲＡＭ１２にロードされる移行作業用端末１のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、後述するフローチャートに示された処理を実行するための各種プログラムの他、移行作業用端末１によって使用される各種データが書き込まれ、読み出される。補助記憶装置１９としては、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等を用いることが出来る。
【００１９】
なお、移行元データベース３１、移行先データベース３２および基準データベース３３は、移行作業用端末１と同じく、一般的なコンピュータとしての構成であるＣＰＵ、ＲＡＭ、ＲＯＭ、補助記憶装置、ネットワークインターフェース等を備える（図示は省略する）。
【００２０】
図２は、本実施形態に係る移行元データベース３１の構成を示す図である。移行元データベース３１は、業務に係る各種情報を蓄積するデータベースである。本実施形態では、移行元データベース３１によって管理されるデータの組（例えば、リレーショナルデータベースにおける行）を、文書と称し、これらの組を識別するために付される識別子を、文書ＩＤと称する。また、データベースによって管理されるデータの属性（例えば、リレーショナルデータベースにおける列）を、項目と称し、この属性の名称を、項目名と称する。移行元データベース３１には、項目として、文書毎に、文書ＩＤ、文書へのアクセス頻度、文書の作成日付、文書を作成したユーザ名、文書の件名、添付ファイル、等が含まれる。なお、本実施形態において、移行元データベース３１は、添付ファイルを独自形式のバイナリファイルに埋め込んで管理する。このため、添付ファイルは、移行元データベース３１のＯＳが用意するファイルシステムからは取得することが出来ず、移行元データベース３１のインターフェース（ビューアやエクスポートツール等）を介さなければ取得することが出来ない。
【００２１】
基準データベース３３は、移行元データベース３１と同様の構造且つ標準的な項目および機能を有するデータベースである。例えば、データベースの構築ツールを用いてデータベースを構築する際に、項目の追加等を行わず、デフォルト設定で生成したデータベースを、基準データベース３３として用いることが出来る。基準データベース３３には、項目として、文書毎に、文書ＩＤ、文書へのアクセス頻度、文書の作成日付、が含まれる。
【００２２】
移行先データベース３２は、移行元データベース３１とは異なる構造を有するデータベースである。このため、移行元データベース３１のデータ構造・形式のままでは、移行元データベース３１に蓄積されたデータ等を移行先データベース３２に移行することが出来
ない。移行先データベース３２は、移行元データベース３１からのデータの移行先となるデータベースであり、後述するデータ移行用ツール生成・実行処理が実行されることによって生成されるデータをインポートすることで、移行元データベース３１のデータを蓄積する。
【００２３】
図３は、本実施形態に係る移行作業用端末１の機能構成の概略を示す図である。本実施形態に係る情報処理装置は、ＣＰＵ１１が、ＲＡＭ１２に展開された各種プログラムを解釈および実行することで、共通項目特定部２１、共通項目移行用プログラム取得部２２、指定項目特定部２３、指定項目移行用プログラム生成部２４およびデータ移行用ツール生成部２５を備える移行作業用端末１として機能する。これらの機能部は、夫々、本開示に係る情報処理装置が備える各手段に相当する機能を実行する。また、本実施形態では、これらの機能がいずれも汎用のＣＰＵ１１によって実行される例について説明しているが、これらの機能は、その一部または全部が、１または複数の専用のプロセッサによって実現されてもよい。
【００２４】
共通項目特定部２１は、移行元データベース３１に含まれる項目のうち、基準データベース３３と共通する項目を、共通項目として特定する。ここで、共通項目とは、標準的な構成のデータベースにおいて存在する項目である。本実施形態では、文書ＩＤ、文書へのアクセス頻度、文書の作成日付、等が共通項目として特定される。
【００２５】
共通項目移行用プログラム取得部２２は、移行元データベース３１に含まれる共通項目に係るデータを、移行先データベース３２において用いられるデータ構造・形式に即したデータに変換するための、共通項目移行用プログラムを取得する。
【００２６】
指定項目特定部２３は、移行元データベース３１に含まれる項目であって共通項目として抽出されなかった項目（可変項目）のうち、ユーザが移行先データベース３２への移行を所望する項目を、指定項目として特定する。本実施形態では、移行元データベース３１に含まれる、文書を作成したユーザ名、文書の件名、添付ファイル、等の可変項目のうち、ユーザによって指定されたものが指定項目となる。
【００２７】
指定項目移行用プログラム生成部２４は、移行元データベース３１に含まれユーザの指定に係る指定項目に係るデータを、移行先データベース３２において用いられるデータ構造に即したデータに変換する変換用プログラムを、指定項目の夫々について取得し、組み合わせることで指定項目移行用プログラムを生成する。
【００２８】
データ移行用ツール生成部２５は、共通項目移行用プログラムと指定項目移行用プログラムとを合わせることでデータ移行用ツールを生成する。
【００２９】
また、本実施形態において、移行作業用端末１の補助記憶装置１９には、データベース移行用の、様々な種類の、部分的なプログラム（以下、「部分プログラム」と称する）が保持されている。ここで、部分プログラムとは、移行元データベースの構造における様々な項目の型やデータ形式毎に予め用意された、移行元データベース内のデータを抽出、変換等するためのプログラム群であり、出力プログラムや、変換プログラム等が含まれる。本実施形態に係るシステムでは、このような部分プログラムが、項目の型やデータ形式毎に用意されている。本実施形態に係るシステムによれば、これらの部分プログラムの中から、指示された項目に係る型やデータ形式のデータを抽出・変換することが出来る部分プログラムを選び出し、組み合わせることで、移行元データベースからの移行用ツールをユーザが手動で作成することなく、データ移行用ツールを生成することが出来る。
【００３０】
＜処理の流れ＞
以下、図４および図５に示すフローチャートを用いて、本実施形態に係る処理の詳細を説明する。なお、本実施形態においてフローチャートを用いて説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されてよい。
【００３１】
図４は、本実施形態に係るデータ移行用ツール生成・実行処理の流れを示すフローチャートである。本フローチャートに示された処理は、入出力装置１８またはネットワークを介して、データ移行用ツール生成・実行処理の開始の指示が受け付けられたことを契機として実行される。
【００３２】
ステップＳ１０１では、共通項目の有無が判定される。共通項目特定部２１は、移行元データベース３１によって管理されているデータの項目の一覧を移行元データベース３１から取得し、また、基準データベース３３によって管理されているデータの項目の一覧を基準データベース３３から取得する。そして、共通項目特定部２１は、移行元データベース３１から取得された項目の一覧と基準データベース３３から取得された項目の一覧と比較することで、移行元データベース３１に、基準データベース３３と共通する項目が存在するか否かを判定する。移行元データベース３１に共通項目が存在する場合、処理はステップＳ１０２へ進む。一方、移行元データベース３１に共通項目が存在しない場合、処理はステップＳ１０４へ進む。
【００３３】
ステップＳ１０２およびステップＳ１０３では、データ移行用ツールの共通項目移行用プログラムモジュールが生成される。移行作業用端末１の共通項目特定部２１は、移行元データベース３１によって管理されているデータの項目の一覧を移行元データベース３１から取得し、基準データベース３３から取得された項目の一覧と比較することで、移行元データベース３１中の共通項目を特定する。そして、共通項目特定部２１は、特定された共通項目の名称（共通項目名）を、移行作業用端末１の補助記憶装置１９に読み込む（ステップＳ１０２）。但し、基準データベース３３を用いずに共通項目を特定してもよい。例えば、予め用意された共通項目のリストと、移行元データベース３１によって管理されているデータの項目の一覧とを比較することで、共通項目を特定することとしてもよい。
【００３４】
そして、共通項目移行用プログラム取得部２２は、読み込まれた共通項目のデータを移行元データベース３１から抽出して移行先データベース３２がインポート可能なデータ形式に変換するためのプログラムを、補助記憶装置１９に予め用意された部分プログラムから取得する。より具体的には、補助記憶装置１９に用意された部分プログラムには、夫々の部分プログラムがどのような項目を変換等するためのプログラムであるかが予め定義されている。この定義は、例えば、部分プログラムと、当該部分プログラムで変換可能な項目の名称（フィールド名）とを関連付ける方法等をもって行うことが出来る。そして、共通項目移行用プログラム取得部２２は、共通項目の名称（フィールド名）をもって部分プログラムの定義を検索することで、読み込まれた共通項目に対応する部分プログラムを索出・取得する。また、索出に失敗した項目については、部品プログラムを一覧表示し、必要な部品プログラムをユーザに選択させることによって部分プログラムを取得することとしてもよい。移行先データベース３２がインポート可能なデータ形式としては、例えば、ＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式がある。なお、プログラムのうち、共通項目のデータを移行元データベース３１から抽出するためのプログラムは、基準データベース３３が備えるエクスポートツール（データの出力用プログラム）から取得されてもよい。そして、共通項目移行用プログラム取得部２２は、読み込まれた共通項目の夫々について取得された移行用のプログラムを、移行元データベース３１に書き込む（ステップＳ１０３）。このようにして、移行元データベース３１上に、共通項目移行用プログラムモジュールが生成される。その後、処理はステップＳ１０４へ進む。
【００３５】
ステップＳ１０４では、指定項目の入力が受け付けられる。指定項目特定部２３は、入出力装置１８やネットワーク等を介して、移行元データベース３１に含まれる項目のうち、共通項目以外の項目（可変項目）について、移行先データベース３２へ移行するか否かを指定する入力を受け付ける。なお、この入力を受け付ける際には、移行作業用端末１に接続されたディスプレイ等の出力装置を介して、ユーザに対して、移行対象の指定項目として指定可能な項目（可変項目）を提示し、ユーザによる指定操作を受け付けることで、指定項目の入力が受け付けられてもよい。指定項目の入力が受け付けられると、処理はステップＳ１０５へ進む。
【００３６】
ステップＳ１０５では、指定項目移行用プログラムモジュールが生成される。指定項目移行用プログラム生成部２４は、ステップＳ１０４において指定の入力が受け付けられた可変項目（指定項目）について、データの抽出用プログラムおよび変換用プログラムを取得し、組み合わせることで、指定項目移行用プログラムモジュールを生成する。指定項目移行用プログラムモジュール生成処理のより詳細な内容については、図５に示すフローチャートを用いて後述する。指定項目移行用プログラムモジュールが生成されると、処理はステップＳ１０６へ進む。
【００３７】
ステップＳ１０６では、生成された指定項目移行用プログラムモジュールのチェックが行われる。移行作業用端末１は、生成された指定項目移行用プログラムモジュールを、ソースコードの文法を、予め定義された文法定義と照合することによるチェックや、指定項目移行用プログラムモジュールのテスト実行結果が予め設定された閾値内にあるか否かを判定することによるチェック等にかけることで、生成された指定項目移行用プログラムモジュールのチェックを行う（ステップＳ１０６）。なお、チェック処理には、ユーザによるチェック（ソースコードの目視チェック等）が含まれてもよい。チェック処理にユーザによるチェックが含まれる場合には、移行作業用端末１は、移行作業用端末１に接続されたディスプレイ等の出力装置を介して指定項目移行用プログラムモジュールの内容（ソースコード等）を出力することでユーザにチェック作業を行わせ、また、入力装置を介したユーザによる確認結果（問題の有無）の入力を受け付けることでチェック結果を取得する。その後、処理はステップＳ１０７へ進む。
【００３８】
ステップＳ１０７では、チェック結果が判定される。ステップＳ１０６によるチェック処理の結果、ソースコード中にエラー等が発見され、指定項目移行用プログラムモジュールに問題があると判定された場合、処理はステップＳ１０４へ進む。即ち、本フローチャートに示された処理では、問題のない指定項目移行用プログラムモジュールが生成されるまで、ステップＳ１０４からステップＳ１０７の処理が繰り返し実行される。一方、ステップＳ１０６によるチェック処理の結果、指定項目移行用プログラムモジュールに問題がないと判定された場合、処理はステップＳ１０８へ進む。
【００３９】
ステップＳ１０８では、データ移行用ツールが生成される。データ移行用ツール生成部２５は、ステップＳ１０５で生成された指定項目移行用プログラムモジュールを、ステップＳ１０３で生成された共通項目移行用プログラムモジュールと合わせて１セットのプログラムモジュールとなるように、移行元データベース３１に書き込むことで、移行元データベース３１に蓄積されたデータを移行先データベース３２に移行するためのデータ移行用ツール（プログラムモジュール）を生成する。即ち、生成されたデータ移行用ツールは、移行元データベース３１に書き込まれている。その後、処理はステップＳ１０９へ進む。
【００４０】
ステップＳ１０９では、データ移行用ツールが実行されることで、データの移行作業が行われる。移行作業用端末１は、入出力装置１８またはネットワークを介した、データの移行開始の指示を受け付けると、ステップＳ１０８までの処理で生成されたデータ移行用
ツールを、移行元データベース３１に実行させることで、移行元データベース３１に蓄積されたデータを抽出し、移行先データベース３２にインポート可能な形式、例えば、ＣＳＶ形式に変換し、変換結果を出力する。出力されたデータは、一旦、移行作業用端末１の補助記憶装置１９に記憶され、移行先データベース３２が備えるインポートツール等を用いて移行先データベース３２にインポートされる。データのインポートの完了に伴って、データの移行作業は完了する。その後、本フローチャートに示された処理は終了する。
【００４１】
図５は、本実施形態に係る指定項目移行用プログラムモジュール生成処理の流れを示すフローチャートである。本フローチャートは、図４に示されたデータ移行用ツール生成・実行処理の一部であるステップＳ１０５において説明した指定項目移行用プログラムモジュール生成処理の内容をより詳細に説明するものである。即ち、本フローチャートに示された処理は、図４のステップＳ１０５として実行される。
【００４２】
ステップＳ２０１では、指定された可変項目（指定項目）が特定される。指定項目特定部２３は、ステップＳ１０４において受け付けられた可変項目を、ステップＳ２０２以降で実行される移行プログラムの生成対象となる指定項目として特定する。その後、移行作業用端末１は、ステップＳ２０２以降に示された処理のうち、指定された可変項目（指定項目）に係る移行プログラムの生成処理を実行する。
【００４３】
ステップＳ２０２以降に示された処理は、各可変項目に係る、移行プログラムの生成処理である。例えば、指定項目としてシステム上の可変項目「ユーザ名」が指定されている場合、ステップＳ２０２からステップＳ２０４の処理が実行される。また、指定項目として可変項目「件名」が指定されている場合、ステップＳ２０５からステップＳ２０７の処理が実行される。指定項目として可変項目「添付ファイル」が指定されている場合、ステップＳ２０８からステップＳ２１０の処理が実行される。また、ステップＳ２０２からステップＳ２１０に示した処理は、可変項目「ユーザ名」、「件名」および「添付ファイル」が移行元データベース３１に存在し、指定項目として指定される場合の処理を例示するものであり、その他の項目が指定される場合には、指定された項目に応じた、その他の具体的な処理が実行される（図示は省略する）。
【００４４】
可変項目「ユーザ名」に係るステップＳ２０２からステップＳ２０４の処理、可変項目「件名」に係るステップＳ２０５からステップＳ２０７の処理、可変項目「添付ファイル」に係るステップＳ２０８からステップＳ２１０の処理、およびその他の可変項目に係る処理（図示は省略する）は、夫々の可変項目に係る移行元データベース３１のデータを移行するための移行プログラムを取得する処理であり、これらの可変項目が、指定項目として指定されている場合に実行される。即ち、指定項目が複数ある場合、これらの指定項目を移行するための移行プログラムを取得するために、対応する処理が全て実行される。
【００４５】
具体的には、項目に係る移行元データベース３１のデータを移行するための移行プログラムを取得する処理において、指定項目移行用プログラム生成部２４は、移行元データベース３１が備えるエクスポートツールから、夫々の項目のデータを移行元データベース３１によって出力させるための出力プログラムを取得し、更に、補助記憶装置１９に予め用意された部分プログラムから、出力されたデータを移行先データベース３２によってインポート可能なデータ形式に変換するための変換プログラムを取得する。但し、夫々の項目のデータを移行元データベース３１によって出力させるための出力プログラムは、移行元データベース３１が備えるエクスポートツールに代えて、補助記憶装置１９に予め用意された部分プログラムから取得されてもよい。より具体的には、移行元データベース３１が備えるエクスポートツールおよび補助記憶装置１９に用意された部分プログラムには、夫々のエクスポートツールおよび部分プログラムがどのような項目を出力／変換等するためのプログラムであるかが予め定義されている。この定義は、例えば、エクスポートツール
または部分プログラムと、当該エクスポートツールまたは部分プログラムで出力／変換可能な項目の名称（フィールド名）とを関連付ける方法等をもって行うことが出来る。そして、指定項目移行用プログラム生成部２４は、指定項目の名称（フィールド名）をもってエクスポートツールおよび部分プログラムの定義を検索することで、指定項目に対応するエクスポートツールまたは部分プログラムを索出・取得する。また、索出に失敗した項目については、エクスポートツールおよび部品プログラムを一覧表示し、必要なエクスポートツールおよび部品プログラムをユーザに選択させることによってエクスポートツールまたは部分プログラムを取得することとしてもよい。以下、項目「ユーザ名」、「件名」および「添付ファイル」のための移行プログラムを取得する処理について、より具体的に説明する。
【００４６】
ステップＳ２０２からステップＳ２０４では、指定項目「ユーザ名」を移行するためのプログラムが取得される。指定項目移行用プログラム生成部２４は、移行元データベース３１が備えるエクスポートツールまたは補助記憶装置１９に予め用意された部分プログラムから、項目「ユーザ名」のデータを移行元データベース３１によって出力させるための出力プログラムを取得する。更に、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、出力されたデータを移行先データベース３２によってインポート可能なデータ形式に変換するための変換プログラムを取得する（ステップＳ２０２）。
【００４７】
また、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、項目「ユーザ名」のデータの内容を日本語変換するための日本語変換プログラムを取得する（ステップＳ２０３）。ここで、項目「ユーザ名」のデータの内容を日本語変換するための変換プログラムとしては、例えば、移行元データベース３１において管理されていたユーザ名が英字であり、移行先データベース３２において管理されるユーザ名が漢字である場合に、移行元データベース３１のシステム内テーブルに保持されている漢字名情報を参照して、項目「ユーザ名」のデータの内容を英字から漢字へ変換するプログラム等が挙げられる。
【００４８】
また、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、項目「ユーザ名」のデータに所属情報を追加するための所属情報追加プログラムを取得する（ステップＳ２０４）。ここで、項目「ユーザ名」のデータに所属情報を追加するためのプログラムとしては、例えば、移行元データベース３１の他の項目からユーザ毎の所属情報を抽出して、「ユーザ名」のデータに所属情報を追加するプログラム等が挙げられる。指定項目「ユーザ名」を移行するための移行プログラムの取得が完了すると、処理はステップＳ２１１へ進む。
【００４９】
ステップＳ２０５からステップＳ２０７では、指定項目「件名」を移行するためのプログラムが取得される。指定項目移行用プログラム生成部２４は、移行元データベース３１が備えるエクスポートツールまたは補助記憶装置１９に予め用意された部分プログラムから、項目「件名」のデータを移行元データベース３１によって出力させるための出力プログラムを取得する。更に、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、出力されたデータを移行先データベース３２によってインポート可能なデータ形式に変換するための変換プログラムを取得する（ステップＳ２０５）。
【００５０】
また、指定項目移行用プログラム生成部２４は、項目「件名」のデータの内容の変換の要否を判定する（ステップＳ２０６）。この要否は、例えば、補助記憶装置１９に保持されているユーザによる設定内容を参照して決定される。ここで、変換の必要がないと判定された場合、処理はステップＳ２１１へ進む。一方、変換の必要があると判定された場合
、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、項目「件名」のデータの内容を変換するための内容変換プログラムを取得する（ステップＳ２０７）。ここで、項目「件名」のデータの内容を変換するための内容変換プログラムとしては、例えば、指定された文字列（例えば、「Ｒｅ：」等）を件名から削除したり、指定の文字列を件名に追加したりするプログラム等が挙げられる。その後、処理はステップＳ２１１へ進む。
【００５１】
ステップＳ２０８からステップＳ２１０では、指定項目「添付ファイル」を移行するためのプログラムが取得される。指定項目移行用プログラム生成部２４は、移行元データベース３１が備えるエクスポートツールまたは補助記憶装置１９に予め用意された部分プログラムから、項目「添付ファイル」のデータを移行元データベース３１によって出力させるための出力プログラムを取得する。ここでいう項目「添付ファイル」のデータとは、添付ファイル名および添付ファイル自体である。更に、指定項目移行用プログラム生成部２４は、出力プログラムを用いてデータ（添付ファイル）を出力する際に、出力先（例えば、移行作業用端末１におけるファイルパス等、補助記憶装置１９における記憶場所）を指定するための指定プログラムを、補助記憶装置１９に予め用意された部分プログラムから取得する（ステップＳ２０８）。ここで指定された出力先（ファイルパス等）は、データ移行用ツールの実行によって生成されるＣＳＶファイル（ステップＳ１０９を参照）に、添付ファイルが付されていた文書の文書ＩＤと関連付けられて記録される。即ち、ここで指定された出力先（ファイルパス等）は、出力された添付ファイルを移行先データベース３２にインポートする際に、インポート対象の添付ファイルの場所として参照される。
【００５２】
また、指定項目移行用プログラム生成部２４は、項目「添付ファイル」のフラグ処理の要否を判定する（ステップＳ２０９）。この要否は、例えば、補助記憶装置１９に保持されているユーザによる設定内容を参照して決定される。ここで処理されるフラグは、ＣＳＶ等の形式で出力されたデータを移行先データベース３２によってインポートする際に、添付ファイルの有無を移行対象の文書毎に確認するために参照されるフラグである。そして、フラグ処理とは、このフラグを、添付ファイルの有無に応じて真または偽に設定する処理である。フラグは、データ移行用ツールの実行によって生成されるＣＳＶファイルに記録される。このようなフラグ処理が不要であると判定された場合、処理はステップＳ２１１へ進む。一方、フラグ処理が必要であると判定された場合、指定項目移行用プログラム生成部２４は、補助記憶装置１９に予め用意された部分プログラムから、項目「添付ファイル」のフラグ処理を行うためのプログラムを取得する（ステップＳ２１０）。
【００５３】
即ち、本実施形態において、上述したステップＳ１０９の処理が実行された結果生成されるＣＳＶファイルには、共通項目および指定項目に係るデータに加えて、インポートされる文書に添付ファイルが有るか否かを示すためのフラグ、および移行先データベース３２が添付ファイルをインポートする際に参照する、添付ファイルのファイルパスが含まれる。
【００５４】
図６は、本実施形態に係るデータ移行用ツールを実行した結果出力されるＣＳＶファイルの構成を示す図である。移行先データベース３２は、ＣＳＶファイルからデータをインポートする際に、フラグを参照することで添付ファイルの有無を判定し、添付ファイルが有ると判定された場合には、ファイルパスを参照して、当該ファイルパスによって示された場所から添付ファイルを読み込む。ステップＳ２０８からステップＳ２１０に示された処理が完了すると、処理はステップＳ２１１へ進む。
【００５５】
ステップＳ２１１では、指定項目移行用プログラムモジュールが生成される。指定項目移行用プログラム生成部２４は、上記説明した、夫々の項目に係る移行プログラムを取得する処理において取得されたプログラム（例えば、出力プログラムや変換プログラム等）
を組み合わせて、単一のプログラムモジュールとすることで、指定項目移行用プログラムモジュールを生成する。その後、本フローチャートに示された処理は終了し、処理は図４に示されたステップＳ１０６へ進む。以降の処理は、図４を用いて説明した通りである。
【００５６】
＜効果＞
本実施形態に係るシステムによれば、従来はユーザによって作成されていたデータ移行用ツールの生成処理の全体または大部分を自動化することが可能となり、構造の異なるデータベース間でデータを移行するためのデータ移行用ツールを生成する際の手間を軽減することが可能となる。
【符号の説明】
【００５７】
１  移行作業用端末
２１  共通項目特定部
２２  共通項目移行用プログラム取得部
２３  指定項目特定部
２４  指定項目移行用プログラム生成部
２５  データ移行用ツール生成部
３１  移行元データベース
３２  移行先データベース
３３  基準データベース
【図１】
0005705681.tif 000002
【図２】
0005705681.tif 000003
【図３】
0005705681.tif 000004
【図４】
0005705681.tif 000005
【図５】
0005705681.tif 000006
【図６】
0005705681.tif 000007