(57)【要約】【課題】階層構造や参照関係をもつ複数のＣＳＶファイルをＬＤＩＦ形式のデータに変換する場合に、作業者の負担を軽減する。【解決手段】ＬＤＡＰディレクトリデータ変換装置３０においては、入力部３３が各ＣＳＶファイルをリレーショナルデータベース装置１０から取得し、データ変換部３５が、制御部３４から送出されたＣＳＶファイルのうち、階層構成をもつ組織ＣＳＶファイルを、階層構成定義情報により、上位組織ＩＤに基づく組織ＩＤ順に組織名を配置したＬＤＩＦ形式の第１データに変換し、参照関係をもつユーザＣＳＶファイルを、参照関係定義情報により、ユーザＩＤ毎にユーザ名を配置したＬＤＩＦ形式の第２データに変換し、第１データの後に第２データを書込んでＬＤＩＦ形式の第３データを作成し、出力部３６が第３データを１つのＬＤＩＦファイルとしてＬＤＡＰディレクトリ装置２０に出力する。【選択図】図１
2011141687.tif 000002
【特許請求の範囲】
【請求項１】
集合ＩＤを値にもつ集合ＩＤ項目毎に集合名を値にもつ集合名項目及び上位集合ＩＤを値にもつ上位集合ＩＤ項目を関連付けたテーブル形式の集合情報と、要素ＩＤを値にもつ要素ＩＤ項目毎に要素名を値にもつ要素名項目及び割当て集合ＩＤを値にもつ割当て集合ＩＤ項目を関連付けたテーブル形式の要素情報とを格納し、前記集合情報をＣＳＶ形式に変換した集合ＣＳＶファイルと、前記要素情報をＣＳＶ形式に変換した要素ＣＳＶファイルとからなる各ＣＳＶファイルを出力可能なリレーショナルデータベース装置と、
ＬＤＩＦファイルを受けると、前記ＬＤＩＦファイルをインポートするＬＤＡＰディレクトリ装置と、
にそれぞれ通信可能であり、記憶手段を備えたＬＤＡＰディレクトリデータ変換装置に用いられるＬＤＡＰディレクトリデータ変換プログラムであって、
前記ＬＤＡＰディレクトリデータ変換装置を、
前記集合ＣＳＶファイルのファイル名毎に、集合ＩＤ項目を値にもつ階層項目と、上位集合ＩＤ項目を値にもつ上位階層定義項目とを関連付けた階層構成定義情報を前記記憶手段に書込む手段、
前記各ＣＳＶファイルのファイル名毎に、参照先のＣＳＶファイル名又は該当無し値をもつ参照先ＣＳＶ名と、参照元の割当て集合ＩＤ項目又は該当無し値をもつ参照元項目と、参照先の集合ＩＤ項目又は該当無し値をもつ参照先項目とを関連付けた参照関係定義情報を前記記憶手段に書込む手段、
前記各ＣＳＶファイルを前記リレーショナルデータベース装置から取得する取得手段、
前記取得した各ＣＳＶファイルのうち、未変換のＣＳＶファイルを個別に送出する未変換ファイル送出手段、
前記送出されたＣＳＶファイルが階層構成をもつ集合ＣＳＶファイルのとき、この集合ＣＳＶファイルを、前記階層構成定義情報に基づいて、前記上位集合ＩＤに基づく集合ＩＤ順に集合名を配置したＬＤＩＦ形式の第１データに変換する第１データ変換手段、
前記送出されたＣＳＶファイルが参照関係をもつ要素ＣＳＶファイルのとき、この要素ＣＳＶファイルを、前記参照関係定義情報に基づいて、前記要素ＩＤ毎に要素名を配置したＬＤＩＦ形式の第２データに変換する第２データ変換手段、
前記第１データの後に続けるように前記第２データを書き込んでＬＤＩＦ形式の第３データを作成するＬＤＩＦデータ作成手段、
前記作成が完了した第３データを送出する作成完了データ送出手段、
前記送出された第３データを１つのＬＤＩＦファイルとして前記ＬＤＡＰディレクトリ装置に出力するための出力手段、
として機能させるためのＬＤＡＰディレクトリデータ変換プログラム。
【請求項２】
請求項１に記載のＬＤＡＰディレクトリデータ変換プログラムにおいて、
前記ＬＤＡＰディレクトリデータ変換装置を、
前記取得した各ＣＳＶファイルと、未処理状況値とを関連付けたＣＳＶ処理管理情報を前記記憶手段に書込む手段、
前記第１及び第２データ変換手段の各々の変換毎に、当該変換されたＣＳＶファイルに関連付けて、前記ＣＳＶ処理管理情報の未処理状況値を処理済み状況値に更新する手段、
として更に機能させ、
前記作成完了データ送出手段は、
前記記憶手段内のＣＳＶ処理管理情報を参照して、全てのＣＳＶファイルが処理済み状況値に関連付けられているか否かを判定する手段と、
前記判定の結果、前記ＣＳＶ処理管理情報内の全てのＣＳＶファイルが処理済み状況値に関連付けられている場合に、第３データを前記出力手段に送出する手段と、
を含んでおり、
前記未変換ファイル送出手段は、前記判定の結果、否の場合に、前記記憶手段内のＣＳＶ処理管理情報を参照して、前記未処理状況値に関連したＣＳＶファイルを個別に送出する手段であり
前記第１データ変換手段は、
前記未変換ファイル送出手段により送出されたＣＳＶファイルに対し、前記記憶手段内の参照関係定義情報を参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が該当無し値をもつか否かを判定する参照先無し判定手段と、
前記参照先無し判定手段による判定の結果、否の場合には、前記未変換ファイル送出手段により送出されたＣＳＶファイルに対し、前記記憶手段内のＣＳＶ処理管理情報及び参照関係定義情報を参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が示す参照先のＣＳＶファイル名が前記ＣＳＶ処理管理情報にて処理済み状況値に関連付けられているか否かを判定する参照先処理済み判定手段と、
前記参照先無し判定手段による判定の結果、参照先ＣＳＶ名が該当無し値をもつとき、又は前記参照先処理済み判定手段による判定の結果、参照先ＣＳＶ名が示す参照先のＣＳＶファイル名が処理済み状況値に関連付けられているとき、当該ＣＳＶファイルに対し、前記記憶手段内の階層構成定義情報の各値に一致する集合ＩＤ項目及び上位集合ＩＤ項目をもつか否かを判定し、この判定の結果、集合ＩＤ項目及び上位集合ＩＤ項目をもつＣＳＶファイルを、前記階層構成をもつ集合ＣＳＶファイルとして選択する集合ファイル選択手段と、
を含んでおり、
前記第２データ変換手段は、
前記集合ファイル選択手段における判定の結果、集合ＩＤ項目及び上位集合ＩＤ項目をもたないＣＳＶファイルに対し、前記記憶手段内の参照関係定義情報の参照元項目の値に一致する割当て集合ＩＤ項目をもつか否かを判定し、この判定の結果、割当て集合ＩＤ項目をもつＣＳＶファイルを、前記参照関係をもつ要素ＣＳＶファイルとして選択する要素ファイル選択手段と、
を含んでいることを特徴とするＬＤＡＰディレクトリデータ変換プログラム。
【請求項３】
集合ＩＤを値にもつ集合ＩＤ項目毎に集合名を値にもつ集合名項目及び上位集合ＩＤを値にもつ上位集合ＩＤ項目を関連付けたテーブル形式の集合情報と、要素ＩＤを値にもつ要素ＩＤ項目毎に要素名を値にもつ要素名項目及び割当て集合ＩＤを値にもつ割当て集合ＩＤ項目を関連付けたテーブル形式の要素情報とを格納し、前記集合情報をＣＳＶ形式に変換した集合ＣＳＶファイルと、前記要素情報をＣＳＶ形式に変換した要素ＣＳＶファイルとからなる各ＣＳＶファイルを出力可能なリレーショナルデータベース装置と、
ＬＤＩＦファイルを受けると、前記ＬＤＩＦファイルをインポートするＬＤＡＰディレクトリ装置と、
にそれぞれ通信可能なＬＤＡＰディレクトリデータ変換装置であって、
前記集合ＣＳＶファイルのファイル名毎に、集合ＩＤ項目を値にもつ階層項目と、上位集合ＩＤ項目を値にもつ上位階層定義項目とを関連付けた階層構成定義情報を記憶する階層定義記憶手段と、
前記各ＣＳＶファイルのファイル名毎に、参照先のＣＳＶファイル名又は該当無し値をもつ参照先ＣＳＶ名と、参照元の割当て集合ＩＤ項目又は該当無し値をもつ参照元項目と、参照先の集合ＩＤ項目又は該当無し値をもつ参照先項目とを関連付けた参照関係定義情報を記憶する参照定義記憶手段と、
前記各ＣＳＶファイルを前記リレーショナルデータベース装置から取得する取得手段、
前記取得した各ＣＳＶファイルのうち、未変換のＣＳＶファイルを個別に送出する未変換ファイル送出手段と、
前記送出されたＣＳＶファイルが階層構成をもつ集合ＣＳＶファイルのとき、この集合ＣＳＶファイルを、前記階層構成定義情報に基づいて、前記上位集合ＩＤに基づく集合ＩＤ順に集合名を配置したＬＤＩＦ形式の第１データに変換する第１データ変換手段と、
前記送出されたＣＳＶファイルが参照関係をもつ要素ＣＳＶファイルのとき、この要素ＣＳＶファイルを、前記参照関係定義情報に基づいて、前記要素ＩＤ毎に要素名を配置したＬＤＩＦ形式の第２データに変換する第２データ変換手段と、
前記第１データの後に続けるように前記第２データを書き込んでＬＤＩＦ形式の第３データを作成するＬＤＩＦデータ作成手段と、
前記作成が完了した第３データを送出する作成完了データ送出手段と、
前記送出された第３データを１つのＬＤＩＦファイルとして前記ＬＤＡＰディレクトリ装置に出力するための出力手段と、
を備えたことを特徴とするＬＤＡＰディレクトリデータ変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リレーショナルデータベースに格納されたテーブル形式のデータをＬＤＡＰ（Lightweight Directory Access Protocol）のデータ交換形式であるＬＤＩＦ（LDAP Data Interchange Format）形式のデータに変換するＬＤＡＰディレクトリデータ変換技術に関する。
【背景技術】
【０００２】
現在、一般的に利用されるデータベースとして、リレーショナルデータベース及びＬＤＡＰ（Lightweight Directory Access Protocol）ディレクトリがある。リレーショナルデータベースでは、全てのデータを行と列からなる二次元のテーブル形式で格納する。また、ＬＤＡＰディレクトリでは、リレーショナルデータベースとは異なり、ＤＩＴ（Directory Information Tree）と呼ばれるツリー形式でデータを格納する。
【０００３】
他にリレーショナルデータベースとＬＤＡＰディレクトリとは、データ構造やアクセス方法についての標準化の有無の点で相違する。リレーショナルデータベースでは、データ構造やアクセス方法がデータベースの設計者に独自に決められるために標準化されておらず、データ構造やアクセス方法の仕様を知らない者が基本的に利用できない。これに対し、ＬＤＡＰディレクトリでは、データ構造やアクセス方法がX.500やＬＤＡＰの仕様で標準化されているため、この仕様に準じていれば容易に利用可能である。
【０００４】
その他、リレーショナルデータベースは、トランザクション制御が定義されており、大量のデータの更新処理に向いている利点がある。これに対し、ＬＤＡＰディレクトリでは明確にトランザクション制御が定義されていないため、大量のデータの更新処理には不向きであるが、大量のデータの検索性能には優れている利点がある。
【０００５】
これらの相違から、リレーショナルデータベースとＬＤＡＰディレクトリはデータの持つ性質や用途に応じて、適材適所で使い分けられている。特にＬＤＡＰディレクトリは、アクセス方法が標準化され、検索性能に優れている点、また、企業の組織階層を表現するのに適したツリー形式でデータを格納していることから、認証サーバや企業内の統合ＩＤ管理サーバとして利用される場合が増加している。例えば、企業内システムに対する認証サーバの導入やＩＤの統合などを契機に、リレーショナルデータベースからＬＤＡＰディレクトリに移行するケースが増えている。
【０００６】
このような移行の際には、リレーショナルデータベースに格納されたテーブル形式のデータをＬＤＡＰディレクトリのツリー形式のデータに変換する必要がある。このようなデータ変換は、以下の手順（１）〜（４）で実行される（例えば、非特許文献１参照。）。
【０００７】
（１）テーブル毎にＣＳＶファイルを作成する。  
（２）ＣＳＶファイル毎にスキーママッピング定義ファイルを作成する。スキーママッピング定義ファイルは、ＣＳＶファイルからＬＤＩＦファイルを生成するための生成規則が定義されたファイルである。  
（３）スキーママッピング定義ファイルに記述された生成規則に従って、ＣＳＶファイルをＬＤＩＦファイルに変換する。  
（４）ＬＤＩＦファイルをＬＤＡＰディレクトリにインポートする。
【０００８】
すなわち、図１４に示すように、変換ツール１は、リレーショナルデータベース装置１０内のテーブル毎に作成された個々のＣＳＶファイル２１，２２，…，２ｎをスキーママッピング定義ファイル３１，３２，…，３ｎに従って個々のＬＤＩＦファイル４１，４２，…，４ｎへ一対一に変換し、各ＬＤＩＦファイル４１，４２，…，４ｎをその順序関係を考慮してＬＤＡＰディレクトリ装置２０にインポートする。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】株式会社日立製作所  LDAP Toolkit（LDAP Toolkit のCSV コンバータの使用例）、URL: http://www.hitachi.co.jp/Prod/comp/soft1/sjs/product/lineup/pdf/ldap_use.pdf
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら以上のようなデータ変換方法では、階層構造を持つテーブルや、テーブル間で参照関係をもつような複数のデータからなる複数のＣＳＶファイル２１，２２，…，２ｎに対し、ＬＤＡＰの階層構造やエントリ間の関係を考慮して、作業者がスキーママッピング定義ファイル３１，３２，…，３ｎをそれぞれ作成する必要がある。このようなスキーママッピング定義ファイル３１，３２，…，３ｎの作成は、作業者の負担が大きいので、負担が軽減されることが望ましい。
【００１１】
本発明は上記実情を考慮してなされたもので、階層構造や参照関係をもつ複数のＣＳＶファイルをＬＤＩＦ形式のデータに変換する場合に、作業者の負担を軽減し得るＬＤＡＰディレクトリデータ変換プログラム及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一つの局面（aspect）においては、集合ＩＤを値にもつ集合ＩＤ項目毎に集合名を値にもつ集合名項目及び上位集合ＩＤを値にもつ上位集合ＩＤ項目を関連付けたテーブル形式の集合情報と、要素ＩＤを値にもつ要素ＩＤ項目毎に要素名を値にもつ要素名項目及び割当て集合ＩＤを値にもつ割当て集合ＩＤ項目を関連付けたテーブル形式の要素情報とを格納し、前記集合情報をＣＳＶ形式に変換した集合ＣＳＶファイルと、前記要素情報をＣＳＶ形式に変換した要素ＣＳＶファイルとからなる各ＣＳＶファイルを出力可能なリレーショナルデータベース装置と、ＬＤＩＦファイルを受けると、前記ＬＤＩＦファイルをインポートするＬＤＡＰディレクトリ装置と、にそれぞれ通信可能であり、記憶手段を備えたＬＤＡＰディレクトリデータ変換装置に用いられるＬＤＡＰディレクトリデータ変換プログラムであって、前記ＬＤＡＰディレクトリデータ変換装置を、前記集合ＣＳＶファイルのファイル名毎に、集合ＩＤ項目を値にもつ階層項目と、上位集合ＩＤ項目を値にもつ上位階層定義項目とを関連付けた階層構成定義情報を前記記憶手段に書込む手段、前記各ＣＳＶファイルのファイル名毎に、参照先のＣＳＶファイル名又は該当無し値をもつ参照先ＣＳＶ名と、参照元の割当て集合ＩＤ項目又は該当無し値をもつ参照元項目と、参照先の集合ＩＤ項目又は該当無し値をもつ参照先項目とを関連付けた参照関係定義情報を前記記憶手段に書込む手段、前記各ＣＳＶファイルを前記リレーショナルデータベース装置から取得する取得手段、前記取得した各ＣＳＶファイルのうち、未変換のＣＳＶファイルを個別に送出する未変換ファイル送出手段、前記送出されたＣＳＶファイルが階層構成をもつ集合ＣＳＶファイルのとき、この集合ＣＳＶファイルを、前記階層構成定義情報に基づいて、前記上位集合ＩＤに基づく集合ＩＤ順に集合名を配置したＬＤＩＦ形式の第１データに変換する第１データ変換手段、前記送出されたＣＳＶファイルが参照関係をもつ要素ＣＳＶファイルのとき、この要素ＣＳＶファイルを、前記参照関係定義情報に基づいて、前記要素ＩＤ毎に要素名を配置したＬＤＩＦ形式の第２データに変換する第２データ変換手段、前記第１データの後に続けるように前記第２データを書き込んでＬＤＩＦ形式の第３データを作成するＬＤＩＦデータ作成手段、前記作成が完了した第３データを送出する作成完了データ送出手段、前記送出された第３データを１つのＬＤＩＦファイルとして前記ＬＤＡＰディレクトリ装置に出力するための出力手段、として機能させるためのＬＤＡＰディレクトリデータ変換プログラムである。
【００１３】
なお、本発明の一つの局面は、プログラムとして表現したが、これに限らず、装置、方法、又はプログラムを記憶したコンピュータ読取り可能な記憶媒体、として表現してもよい。
【００１４】
（作用）
本発明の一つの局面においては、階層構造や参照関係をもつ複数のＣＳＶファイルをＬＤＩＦ形式のデータに変換する場合に、階層構成定義情報及び参照関係定義情報に基づいて変換を行うので、従来のスキーママッピング定義ファイルを作成する手間を不要にでき、作業者の負担を軽減することができる。
【発明の効果】
【００１５】
以上説明したように本発明によれば、階層構造や参照関係をもつ複数のＣＳＶファイルをＬＤＩＦ形式のデータに変換する場合に、作業者の負担を軽減できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るＬＤＡＰディレクトリデータ変換装置を備えたＬＤＡＰディレクトリデータ変換システムの構成を示す模式図である。
【図２】同実施形態におけるテーブル格納部内の各データを説明するための模式図である。
【図３】同実施形態におけるデータ格納部内のＬＤＡＰ階層構造データを説明するための模式図である。
【図４】同実施形態におけるＬＤＩＦファイルを説明するための模式図である。
【図５】同実施形態におけるルール定義部内の各データを説明するための模式図である。
【図６】同実施形態におけるＣＳＶ処理管理部内のＣＳＶ処理管理情報を説明するための模式図である。
【図７】同実施形態における動作を説明するためのフローチャートである。
【図８】同実施形態におけるステップＳ０の動作を説明するための模式図である。
【図９】同実施形態におけるステップＳ６の動作を説明するための模式図である。
【図１０】同実施形態におけるＬＤＩＦファイルの作成動作を説明するための模式図である。
【図１１】同実施形態におけるＣＳＶ処理管理情報の更新動作を説明するための模式図である。
【図１２】同実施形態におけるステップＳ９の動作を説明するための模式図である。
【図１３】同実施形態の作用効果を説明するための模式図である。
【図１４】従来のＬＤＡＰディレクトリデータ変換方法を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下のＬＤＡＰディレクトリデータ変換装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からＬＤＡＰディレクトリデータ変換装置となるコンピュータにインストールされ、当該コンピュータにＬＤＡＰディレクトリデータ変換装置の機能を実現させるためのプログラムが用いられる。また、以下の実施形態では、階層構造を持つ「集合」の具体例として「組織」を用い、集合内の「要素」の具体例として「ユーザ」を用い、集合への要素の「割当て」の具体例として「所属」を用いているが、「集合」、「要素」及び「割当て」の具体例は、組織やユーザや所属に限定されず、任意のものが使用可能となっている。例えば「集合」の他の具体例として「分野」を用い、要素の具体例として「文書」を用い、「割当て」の具体例として「分類」を用いてもよい。
【００１８】
（一実施形態）
図１は本発明の一実施形態に係るＬＤＡＰディレクトリデータ変換装置を備えたＬＤＡＰディレクトリデータ変換システムの構成を示す模式図であり、図２乃至図６は各データ等を説明するための模式図である。このＬＤＡＰディレクトリデータ変換システムは、リレーショナルデータベース装置１０、ＬＤＡＰディレクトリ装置２０及びＬＤＡＰディレクトリデータ変換装置３０を備えている。
【００１９】
ここで、リレーショナルデータベース装置１０は、テーブル格納部１１及びＣＳＶ出力部１２を備えている。
【００２０】
テーブル格納部１１は、図２に示すように、ユーザテーブル定義１１ａ、組織マスタテーブル定義１１ｂ、ユーザマスタデータ１１ｃ及び組織マスタデータ１１ｄを記憶する記憶装置からなり、図示しない書込部によりユーザ操作に応じて各データ１１ａ〜１１ｄが書き込まれ、ＣＳＶ出力部１２から読出可能となっている。
【００２１】
ユーザテーブル定義１１ａは、ユーザマスタデータ１１ｃのデータ項目（物理名）を定義したユーザ情報定義情報であり、行番号毎に、属性名、物理名、ＰＫ（プライマリーキーか否か）及びＦＫ（外部キーか否か）のデータ項目が定義されている。属性名としては、ユーザＩＤ、ユーザ名、所属組織、メール及び電話番号が定義されている。物理名としては、USER_ID、USER_NAME、SYOZOKU、MAIL、TELが定義されている。プライマリーキーがUSER_ID、SYOZOKUがsosiki.csvに対する外部キーに定義されている。
【００２２】
組織マスタテーブル定義１１ｂは、組織マスタデータ１１ｃのデータ項目（物理名）を定義した組織情報定義情報であり、行番号毎に、属性名、物理名、ＰＫ（プライマリーキーか否か）及びＦＫ（外部キーか否か）のデータ項目が定義されている。属性名としては、組織ＩＤ、組織名、電話番号及び上位組織が定義されている。物理名としては、ORG_ID、ORG_NAME、ORG_TEL、HIGH_ORG_IDが定義されている。プライマリーキーがORG_ID、HIGH_ORG_IDがsosiki.csv自身の外部キーに定義されている。HIGH_ORG_IDは再帰構造になっており、組織の階層構造を表現している。
【００２３】
ユーザマスタデータ１１ｃは、ユーザＩＤ（例、00001，00002，…）を値にもつユーザＩＤ項目としてのUSER_ID毎に、ユーザ名（例、田中一郎，佐藤二郎，…）を値にもつユーザ名項目としてのUSER_NAME、所属組織ＩＤ（例、A01，B01，…）を値にもつ所属組織ＩＤ項目としてのSYOZOKU、任意の付加的事項としてのMAIL（メール）及びTEL（電話番号）を関連付けたテーブル形式のユーザ情報（要素情報）であり、ＣＳＶ出力部１２によりＣＳＶ形式に変換したユーザＣＳＶファイル(user.csv) ２１として出力される。
【００２４】
組織マスタデータ１１ｄは、組織ＩＤ（例、A01，B01，…）を値にもつ組織ＩＤ項目としてのORG_ID毎に、組織名（例、組織A01，組織B01，…）を値にもつ組織名項目としてのORG_NAME、任意の付加的事項としてのORG_TEL（組織電話番号）及び上位組織ＩＤを値にもつ上位組織ＩＤ項目としてのHIGH_ORG_IDを関連付けたテーブル形式の組織情報（集合情報）であり、ＣＳＶ出力部１２によりＣＳＶ形式に変換した組織ＣＳＶファイル(sosiki.csv)２２として出力される。
【００２５】
ＣＳＶ出力部１２は、テーブル格納部１１内のユーザマスタデータ１１ｃをＣＳＶ形式に変換したユーザＣＳＶファイル２１と、テーブル格納部１１内の組織マスタデータ１１ｄをＣＳＶ形式に変換した組織ＣＳＶファイル２２とからなる各ＣＳＶファイル２１，２２をＬＤＡＰディレクトリデータ変換装置３０に出力する機能をもっている。ここで、出力される各ＣＳＶファイル（user.csv、sosiki.csv）２１，２２は、各マスタデータ１１ｃ，１１ｄと一対一対応になっており、マスタデータ１１ｃ，１１ｄの個数と同数のＣＳＶファイル２１，２２が出力される。
【００２６】
ＬＤＡＰディレクトリ装置２０は、データ格納部２１及びＬＤＩＦ入力部２２を備えている。
【００２７】
データ格納部２１は、図３に示すように、ＬＤＡＰ階層構造データを記憶する記憶装置からなり、ＬＤＩＦ入力部２２からＬＤＡＰ階層構造データが書き込まれ、図示しない読出部によりユーザ操作に応じてＬＤＡＰ階層構造データが読出可能となっている。なお、ＬＤＡＰ階層構造データは、ＤＩＴ(Directory Information Tree)と呼ばれるツリー形式のデータである。このため、階層構造をツリー構造と呼んでもよい。また、階層構造をディレクトリ構造と呼んでもよい。
【００２８】
ＬＤＩＦ入力部２２は、ＬＤＡＰディレクトリデータ変換装置３０から出力されたＬＤＩＦファイル４を受けると、当該ＬＤＡＰファイル４をインポートしてＬＤＡＰ階層構造データに変換する機能と、当該ＬＤＡＰ階層構造データをデータ格納部２１に書込む機能とをもっている。ここで、ＬＤＩＦファイル４は、図４に示すように、階層順に組織データを配置してなるＬＤＩＦ形式の第１データ４１と、組織データに関連付けたユーザデータを配置してなるＬＤＩＦ形式の第２データ４２とを備えたＬＤＩＦ形式の第３データ４３から構成されている。なお、第３データ４３は、第１データ４１の後に続けるように第２データ４２が書き込まれることにより、作成される。
【００２９】
ＬＤＡＰディレクトリデータ変換装置３０は、ルール定義部３１、ＣＳＶ処理管理部３２、入力部３３、制御部３４、データ変換部３５及び出力部３６を備えている。
【００３０】
ルール定義部３１は、制御部３４から読出／書込可能な記憶装置であり、ＣＳＶ形式のデータをＬＤＩＦ形式のデータに変換可能に定義したルール情報として、図５に示すように、オブジェクトクラスマッピング定義３１ａ、属性マッピング定義３１ｂ、配置構成定義３１ｃ、エントリ関係定義３１ｄ、階層構成定義３１ｅを記憶している。各定義３１ａ〜３１ｅは、予めユーザによる入力部３３の操作に応じて制御部３４によりルール定義部３１に書き込まれる。
【００３１】
オブジェクトクラスマッピング定義３１ａは、ＣＳＶファイル名毎に、ＬＤＡＰ階層構造データのオブジェクトクラスが関連付けられている。図５に示す例では、ＣＳＶファイル名「user」がオブジェクトクラス「top, inetOrgPerson, xxxPerson」に関連付けられ、ＣＳＶファイル名「sosiki」が、オブジェクトクラス「top, organizationalUnit, xxxOrganization」に関連付けられている。ここでは、オブジェクトクラスの表現をオブジェクトクラスツリーのトップからカンマで区切って並べて表記しているが、別の表記であっても構わない。また、オブジェクトクラスの「xxxPerson」と「xxxOrganization」は独自に拡張したオブジェクトクラスを示し、それ以外のオブジェクトクラスはＬＤＡＰ標準のオブジェクトクラスとなっている。
【００３２】
属性マッピング定義３１ｂは、ＣＳＶファイル名毎に、ＣＳＶファイル２１，２２内の物理名を値にもつＣＳＶデータ（ＣＳＶ属性項目）、ＬＤＩＦファイル４内の物理名を値にもつＬＤＩＦデータ（ＬＤＩＦ属性項目）、ＰＫ項目（ＬＤＡＰファイルのプライマリーキーであるか否か）が関連付けられている。ＬＤＩＦファイル４内の物理名が「−（マイナス）」で表現されている部分は、ＣＳＶファイル２１，２２内の物理名からＬＤＩＦファイル４内の物理名への対応付けを行わないことを意味している。この例では、ＣＳＶファイル名「user」のＣＳＶファイル２１内の物理名「SYOZOKU」と、ＣＳＶファイル名「sosiki」のＣＳＶファイル２２内の物理名「HIGH_ORG_ID」とは、それぞれ関連するＬＤＩＦファイル４内の物理名が「−」となっており、ＬＤＩＦファイル４内の物理名への対応付けを行わないが、これらの物理名「SYOZOKU」と「HIGH_ORG_ID」は、ＬＤＡＰ階層構造データ内の階層関係に表現されることになる。
【００３３】
配置構成定義３１ｃは、ＬＤＡＰ階層構造データを書き出す位置（以下、ツリーポイントともいう）を定義した情報である。この例では、ツリーポイントが「o=xxx.co.jp」であることが定義されている。
【００３４】
エントリ関係定義３１ｄは、各ＣＳＶファイル２１，２２のファイル名毎に、参照先のＣＳＶファイル名又は該当無し値をもつ参照先ＣＳＶ名と、参照元の所属組織ＩＤ項目又は該当無し値をもつ参照元項目と、参照先の組織ＩＤ項目又は該当無し値をもつ参照先項目とが関連付けられた参照関係定義情報であり、ＬＤＩＦ形式への変換後のエントリ関係（参照関係）を定義するものである。この例では、ＣＳＶファイル２１のファイル名「user」に、参照先のファイル名「sosiki」をもつ参照先ＣＳＶ名と、参照元の所属組織ＩＤ項目「SYOZOKU」をもつ参照元項目と、参照先の組織ＩＤ項目「ORG_ID」をもつ参照先項目とが関連付けられている。また、ＣＳＶファイル２２のファイル名「sosiki」に、該当無し値「−」をもつ参照先ＣＳＶ名と、該当無し値「−」をもつ参照元項目と、該当無し値「−」をもつ参照先項目とが関連付けられている。この参照関係が、ＬＤＡＰ階層構造データにおける階層関係に変換される。具体的には、組織エントリの配下に、その組織に所属しているユーザのエントリが配備される。
【００３５】
階層構成定義３１ｅは、組織ＣＳＶファイル２２のファイル名（sosiki）毎に、組織ＩＤ項目としての組織ＩＤ項目（ORG_ID）を値にもつ階層項目と、上位組織ＩＤ項目としての上位階層ＩＤ項目（HIGH_ORG_ID）を値にもつ上位階層定義項目とが関連付けられた階層構成定義情報である。ここで、「階層項目」は、階層を表す対象となるデータ項目を指定しており、ここでは組織ＩＤ項目であるORG_IDを定義している。「上位階層定義項目」は、上位階層を示すデータ項目を指定しており、ここでは上位組織ＩＤ項目であるHIGH_ORG_IDを指定している。
【００３６】
以上のルール定義部３１内の各定義３１ａ〜３１ｅは、それぞれ本実施形態で例示した表記とは異なる表記を用いてもよい。
【００３７】
ＣＳＶ処理管理部３２は、制御部３４から読出／書込可能な記憶部であり、図６に示すように、リレーショナルデータベース装置１０から取得された各ＣＳＶファイル２１，２２と、未処理状況値とを関連付けたＣＳＶ処理管理情報を記憶する機能をもっている。
【００３８】
入力部３３は、各ＣＳＶファイル２１，２２をリレーショナルデータベース装置１０から取得する機能と、当該取得した各ＣＳＶファイル２１，２２を制御部３４に送出する機能とをもっている。
【００３９】
なお、各ＣＳＶファイル２１，２２をリレーショナルデータベース装置１０から取得する機能は、例えば、各ＣＳＶファイル２１，２２の出力要求をリレーショナルデータベース装置１０に送信する機能と、リレーショナルデータベース装置１０から出力された複数のＣＳＶファイル２１，２２の入力を受付ける機能とを含んでもよい。
【００４０】
また、入力部３３は、各ＣＳＶファイル２１，２２の入力を受付けたとき、当該各ＣＳＶファイル２１，２２内のＣＳＶ形式のデータのシンタックスチェックを行ってもよい。
【００４１】
制御部３４は、入力部３３からの各ＣＳＶファイル２１，２２をＣＳＶ処理管理部３２に書込み、ＣＳＶ処理管理部３２内の各ＣＳＶファイル２１，２２及びルール定義部３１内の各定義３１ａ〜３１ｅをデータ変換部３５に送出し、データ変換部３５で変換されたデータを出力部３６に送出し、また、データ変換の過程において、ＣＳＶファイルの処理状況をＣＳＶ処理管理部３２に記録するものである。なお、制御部３４は、入力部３３から受けた各定義３１ａ〜３１ｅをルール定義部３１に書き込むものでもある。
【００４２】
このような制御部３４は、例えば以下の各機能(f34-1)〜(f34-4)をもっている。  
(f34-1)  入力部３３により取得した各ＣＳＶファイル２１，２２と、未処理状況値とを関連付けたＣＳＶ処理管理情報をＣＳＶ処理管理部３２に書込む機能。
【００４３】
(f34-2)  入力部３３により取得した各ＣＳＶファイル２１，２２のうち、未変換のＣＳＶファイルを個別にデータ変換部３５に送出する未変換ファイル送出機能。
【００４４】
(f34-3)  データ変換部３５の各々の変換毎に、当該変換されたＣＳＶファイル２１，２２に関連付けて、ＣＳＶ処理管理情報の未処理状況値を処理済み状況値に更新する機能。
【００４５】
(f34-4)  データ変換部３５による作成が完了した第３データ４３を出力部３６に送出する作成完了データ送出機能。
【００４６】
ここで、作成完了データ送出機能(f34-4)は、以下の機能(f34-4-1)〜(f34-4-2)を含んでいてもよい。
【００４７】
(f34-4-1)  ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、全てのＣＳＶファイル２１，２２が処理済み状況値に関連付けられているか否かを判定する機能。
【００４８】
(f34-4-2)  この判定の結果、ＣＳＶ処理管理情報内の全てのＣＳＶファイル２１，２２が処理済み状況値に関連付けられている場合に、第３データ４３を出力部３６に送出する機能。
【００４９】
また、未変換ファイル送出機能(f34-2)は、判定する機能(f34-4-1)による判定の結果、否の場合に、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、未処理状況値に関連したＣＳＶファイルを個別にデータ変換部３５に送出する機能、として実現してもよい。
【００５０】
データ変換部３５は、制御部３４から受けるＣＳＶファイル２１，２２と、ルール定義部３１内の定義３１ａ〜３１ｅに基づき、ＣＳＶ形式のデータからＬＤＩＦ形式へのデータへの変換を行うものである。
【００５１】
具体的にはデータ変換部３５は、以下の各機能(f35-1)〜(f35-3)をもっている。
【００５２】
(f35-1)  制御部３４から送出されたＣＳＶファイルが階層構造をもつ組織ＣＳＶファイルのとき、この組織ＣＳＶファイルを、階層構成定義３１ｅに基づいて、上位組織ＩＤに基づく組織ＩＤ順に組織名を配置したＬＤＩＦ形式の第１データ４１に変換する第１データ変換機能。
【００５３】
(f35-2)  制御部３４から送出されたＣＳＶファイルが参照関係をもつユーザＣＳＶファイルのとき、このユーザＣＳＶファイルを、エントリ関係定義３１ｄに基づいて、ユーザＩＤ毎にユーザ名を配置したＬＤＩＦ形式の第２データ４２に変換する第２データ変換機能。
【００５４】
(f35-3)  第１データ４１の後に続けるように第２データ４２を書き込んでＬＤＩＦ形式の第３データ４３を作成するＬＤＩＦデータ作成機能。
【００５５】
ここで、第１データ変換機能(f35-1)は、以下の機能(f35-1-1)〜(f35-1-4)を含んでいてもよい。
【００５６】
(f35-1-1)   未変換ファイル送出機能(f34-2)により制御部３４から送出されたＣＳＶファイルに対し、ルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が該当無し値をもつか否かを判定する参照先無し判定機能。
【００５７】
(f35-1-2)   参照先無し判定機能(f35-1-1)による判定の結果、否の場合には、未変換ファイル送出機能(f34-2)により制御部３４から送出されたＣＳＶファイルに対し、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報及びルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が示す参照先のＣＳＶファイル名がＣＳＶ処理管理情報にて処理済み状況値に関連付けられているか否かを判定する参照先処理済み判定機能。
【００５８】
(f35-1-3)  参照先無し判定機能(f35-1-1)による判定の結果、参照先ＣＳＶ名が該当無し値をもつとき、又は参照先処理済み判定機能(f35-1-2)による判定の結果、参照先ＣＳＶ名が示す参照先のＣＳＶファイル名が処理済み状況値に関連付けられているとき、当該ＣＳＶファイルに対し、ルール定義部３１内の階層構成定義３１ｅの各値に一致する組織ＩＤ項目及び上位組織ＩＤ項目をもつか否かを判定し、この判定の結果、組織ＩＤ項目及び上位組織ＩＤ項目をもつＣＳＶファイルを、階層構造をもつ組織ＣＳＶファイルとして選択する組織ファイル選択機能。
【００５９】
また、第２データ変換機能(f35-2)は、以下の機能(f35-2-1)を含んでいてもよい。
【００６０】
(f35-2-1)  組織ファイル選択機能(f35-1-3)における判定の結果、組織ＩＤ項目及び上位組織ＩＤ項目をもたないＣＳＶファイルに対し、ルール定義部３１内のエントリ関係定義３１ｄの参照元項目の値に一致する所属組織ＩＤ項目をもつか否かを判定し、この判定の結果、所属組織ＩＤ項目をもつＣＳＶファイルを、参照関係をもつユーザＣＳＶファイルとして選択するユーザファイル選択機能。
【００６１】
出力部３６は、制御部３４から受けたＬＤＩＦ形式の第３データ４３を１つのＬＤＩＦファイル４としてＬＤＡＰディレクトリ装置２０に出力する機能をもっている。
【００６２】
次に、以上のように構成されたＬＤＡＰディレクトリデータ変換システムの動作について図７のフローチャートを用いて説明する。
【００６３】
ＬＤＡＰディレクトリデータ変換装置３０は、例えばユーザの操作により、各ＣＳＶファイル２１，２２の出力要求をリレーショナルデータベース装置１０に送信する。
【００６４】
リレーショナルデータベース装置１０においては、この出力要求に基づき、ＣＳＶ出力部１２が、テーブル格納部１１内のユーザマスタデータ１１ｃをＣＳＶ形式に変換したユーザＣＳＶファイル２１と、テーブル格納部１１内の組織マスタデータ１１ｄをＣＳＶ形式に変換した組織ＣＳＶファイル２２とからなる各ＣＳＶファイル２１，２２をＬＤＡＰディレクトリデータ変換装置３０に出力する。
【００６５】
（ステップＳ０）  ＬＤＡＰディレクトリデータ変換装置３０においては、入力部３３が、各ＣＳＶファイル２１，２２を取得すると、当該取得した各ＣＳＶファイル２１，２２を制御部３４に送出する。制御部３４は、図８に示すように、各ＣＳＶファイル（user.csv，sosiki.csv）２１，２２と、未処理状況値（Ｎ，Ｎ）とを関連付けたＣＳＶ処理管理情報をＣＳＶ処理管理部３２に書き込む。
【００６６】
（ステップＳ１）  制御部３４は、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、全てのＣＳＶファイル２１，２２の処理が終了したか否かを判断する。この判断は、全てのＣＳＶファイル２１，２２が処理済み状況値（Ｙ）に関連付けられている（＝処理が終了した）か否かの判定により実行される。この判断の結果、処理が終了していない場合（＝否の場合）はステップＳ２に移る。全てのＣＳＶファイル２１，２２の処理が終了した場合はステップＳ１１に移って、処理を終了する。ここでは、２つのＣＳＶファイル（user.csv，sosiki.csv）２１，２２があるが、２つのＣＳＶファイル２１，２２とも処理が終了していないため、ステップＳ２に移る。
【００６７】
（ステップＳ２）  制御部３４は、入力部３３により取得した各ＣＳＶファイル２１，２２のうち、未変換のＣＳＶファイルを個別にデータ変換部３５に送出する。具体的には制御部３４は、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、未処理状況値に関連したＣＳＶファイルを個別にデータ変換部３５に送出する。例えば、１番目のＣＳＶファイル（user.csv）２１を選択してデータ変換部３５に送出する。
【００６８】
（ステップＳ３）  データ変換部３５は、制御部３４から送出されたＣＳＶファイル（user.csv）２１に対し、ルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が該当無し値「−」をもつか否かを判定する。該当無し値をもつ場合（参照先がない場合）には、ステップＳ４に移る。否の場合（参照先がある場合）には、データ変換部３５は、制御部３４から送出されたＣＳＶファイル（user.csv）２１に対し、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報及びルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイル（user.csv）２１のファイル名（user）に関連した参照先ＣＳＶ名が示す参照先のＣＳＶファイル名（sosiki）がＣＳＶ処理管理情報にて処理済み状況値（Ｙ）に関連付けられているか否かを判定する。
【００６９】
この判定の結果、否の場合には、ステップＳ２に戻る。処理済み状況値（Ｙ）に関連付けられている場合には、ステップＳ４に移る。ここでは、参照先のＣＳＶファイル名（sosiki）が未処理状況値「Ｎ」に関連付けられており、否の場合に該当するため、ステップＳ２に戻る。
【００７０】
（ステップＳ２）  制御部３４は、２番目のＣＳＶファイル（sosiki.csv）２２を選択してデータ変換部３５に送出する。
【００７１】
なお、次のステップＳ３〜Ｓ７では、概略的には、データ変換部３５は、制御部３４から送出されたＣＳＶファイル２２が階層構造をもつ組織ＣＳＶファイル２２のとき、この組織ＣＳＶファイル２２を、階層構成定義３１ｅに基づいて、上位組織ＩＤに基づく組織ＩＤ順に組織名を配置したＬＤＩＦ形式の第１データ４１に変換する。以下、詳細に説明する。
【００７２】
（ステップＳ３）  データ変換部３５は、送出されたＣＳＶファイル（sosiki.csv）２２に対し、ルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が該当無し値「−」をもつか否かを判定する。判定の結果、該当無し値「−」をもつので、ステップＳ４に移る。
【００７３】
（ステップＳ４）  データ変換部３５は、当該ＣＳＶファイル（sosiki.csv）２２に対し、ルール定義部３１内の階層構成定義３１ｅの各値（ORG_ID，HIGH_ORG_ID）に一致する組織ＩＤ項目（ORG_ID）及び上位組織ＩＤ項目（HIGH_ORG_ID）をもつか否かを判定し、この判定の結果、組織ＩＤ項目及び上位組織ＩＤ項目をもつＣＳＶファイルを、階層構造をもつ組織ＣＳＶファイルとして選択してステップＳ５に移る。また、判定の結果、否の場合にはステップＳ８に移る。ここでは、階層構成定義３１ｅには、対象のＣＳＶファイル（sosiki.csv）の階層項目及び上位階層定義項目が定義されているため、ステップＳ５に移る。
【００７４】
（ステップＳ５）  データ変換部３５は、階層構成定義３１ｅの定義内容に従って、変換対象のＣＳＶファイル（sosiki.csv）の階層を定義した組織ＩＤ項目（ORG_ID）と、上位階層を定義した上位組織ＩＤ項目（HIGH_ORG_ID）とを特定する。データ変換部３５は、特定された組織ＩＤ項目（ORG_ID）及び上位組織ＩＤ項目（HIGH_ORG_ID）に基づいて、最上位階層（上位階層がＮＵＬＬ）から降順に、組織ＩＤ及び上位組織ＩＤを並び替える。並び替えた結果は、図９の左から２〜３列目に示す通りである。並び替えの完了後、ステップＳ６に移る。
【００７５】
（ステップＳ６）  データ変換部３５は、並び替えた組織ＩＤ及び上位組織ＩＤに基づいて、属性マッピング定義３１ｂ及び配置構成定義３１ｃを参照しながら、ＬＤＩＦデータの「ｏｕ」毎に昇順に、組織ＩＤから各々の上位階層ＩＤを経由して最上位階層ＩＤまでを個別に示し、更にツリーポイントを示したディレクトリ項目識別名dn（distinguished name）を作成し、ステップＳ７に移る。
【００７６】
（ステップＳ７）  データ変換部３５は、ステップＳ６で作成したｄｎ、属性マッピング定義３１ｂ及びオブジェクトクラスマッピング定義３１ａに基づき、図１０に示すように、上位組織ＩＤに基づく組織ＩＤ順に、ｄｎ、組織ＩＤ（ou）、組織名（orgName）、電話番号（telephoneNumber）及びオブジェクトクラス（objectClass）を配置したＬＤＩＦ形式の第１データ４１を作成する。なお、第１データ４１の形式としては、例えば、ｄｎ、組織ＩＤ及び組織名を残し、他のデータ（電話番号）を省略するように変形してもよい。この種の変形は、属性マッピング定義３１ｂのＬＤＩＦデータを適宜「−」に定義して実現できる。
【００７７】
ＬＤＩＦ形式の第１データ４１を作成後、制御部３４は、図１１に示すように、変換されたＣＳＶファイル（sosiki.csv）２２に関連付けてＣＳＶ処理管理部３２内の未処理状況値（Ｎ）を処理済み状況値（Ｙ）に更新し、ステップＳ１に戻る。
【００７８】
（ステップＳ１）  制御部３４は、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、全てのＣＳＶファイル２１，２２の処理が終了したか否かを判断する。ここでは、一方のＣＳＶファイル（sosiki.csv）２２の処理が終わっているが、他方のＣＳＶファイル（user.csv）２２の処理が終わっていないため、ステップＳ２に移る。
【００７９】
（ステップＳ２）  制御部３４は、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報を参照して、未処理状況値に関連したＣＳＶファイル（user.csv）２１を選択してデータ変換部３５に送出し、ステップＳ３に移る。
【００８０】
なお、次のステップＳ３〜Ｓ４，Ｓ８〜Ｓ９，Ｓ７では、概略的には、データ変換部３５は、制御部３４から送出されたＣＳＶファイル２１が参照関係をもつユーザＣＳＶファイル２１のとき、このユーザＣＳＶファイル２１を、エントリ関係定義３１ｄに基づいて、ユーザＩＤ毎にユーザ名を配置したＬＤＩＦ形式の第２データ４２に変換する。以下、詳細に説明する。
【００８１】
（ステップＳ３）  データ変換部３５は、送出されたＣＳＶファイル（user.csv）に２１に対し、ルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイルのファイル名に関連した参照先ＣＳＶ名が該当無し値「−」をもつか否かを判定し、ここでは否と判定する。データ変換部３５は、ＣＳＶファイル（user.csv）２１に対し、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報及びルール定義部３１内のエントリ関係定義３１ｄを参照して、当該ＣＳＶファイル（user.csv）２１のファイル名（user）に関連した参照先ＣＳＶ名が示す参照先のＣＳＶファイル名（sosiki）がＣＳＶ処理管理情報にて処理済み状況値（Ｙ）に関連付けられているか否かを判定する。ここでは、処理済み状況値（Ｙ）に関連付けられていると判定し、ステップＳ４に移る。
【００８２】
（ステップＳ４）  データ変換部３５は、当該ＣＳＶファイル（user.csv）２１に対し、ルール定義部３１内の階層構成定義３１ｅの各値（ORG_ID，HIGH_ORG_ID）に一致する組織ＩＤ項目（ORG_ID）及び上位組織ＩＤ項目（HIGH_ORG_ID）をもつか否かを判定する。ここでは否と判定し、ステップＳ８に移る。
【００８３】
（ステップＳ８）  データ変換部３５は、当該ＣＳＶファイル（user.csv）２１が参照関係を持つか否かをエントリ関係定義３１ｄに基づいて判断する。具体的にはデータ変換部３５は、このＣＳＶファイル（user.csv）に対し、ルール定義部３１内のエントリ関係定義３１ｄの参照元項目の値（SYOZOKU）に一致する所属組織ＩＤ項目（SYOZOKU）をもつか否かを判定し、この判定の結果、所属組織ＩＤ項目をもつＣＳＶファイルを、参照関係をもつユーザＣＳＶファイルとして選択してステップＳ９に移る。また、判定の結果、否の場合にはステップＳ１０に移る。ここでは、ＣＳＶファイル（user.csv）がエントリ関係定義３１ｄの参照元項目の値（SYOZOKU）に一致する所属組織ＩＤ項目（SYOZOKU）をもつため、ステップＳ９に移る。
【００８４】
（ステップＳ９）  データ変換部３５は、配置構成定義３１ｃのツリーポイントに関連する第１データ４１のうち、エントリ関係定義３１ｄ内の参照元項目の値「SYOZOKU」に一致する組織ＩＤに関連するディレクトリ項目識別名ｄｎを読出し、当該組織ＩＤに関連するユーザＩＤと、当該ｄｎとを並べて、このユーザＩＤに関連する新たなｄｎを作成する。作成した結果は、図１２に示す通りである。ディレクトリ項目識別名dnの作成後、ステップＳ７に移る。
【００８５】
（ステップＳ７）  データ変換部３５は、ステップＳ９で作成したｄｎ、属性マッピング定義３１ｂ及びオブジェクトクラスマッピング定義３１ａに基づき、図４に示したように、ｄｎ及びユーザＩＤ（uid）毎に、ユーザ名（cn）、メール（mail）及び電話番号（telephoneNumber）を配置したＬＤＩＦ形式の第２データ４２を作成し、第１データ４１の後に続けるように第２データ４２を書き込んでＬＤＩＦ形式の第３データ４３を作成する。なお、第２データ４２の形式としては、例えば、ｄｎ、ユーザＩＤ及びユーザ名を残し、他のデータ（メール及び電話番号）を省略するように変形してもよい。この種の変形は属性マッピング定義３１ｂのＬＤＩＦデータを適宜「−」に定義して実現できる。
【００８６】
データ作成後、制御部３４は、変換されたＣＳＶファイル（user.csv）２１に関連付けて、ＣＳＶ処理管理部３２内のＣＳＶ処理管理情報の未処理状況値（Ｎ）を処理済み状況値（Ｙ）に更新し、ステップＳ１に戻る。
【００８７】
（ステップＳ１）  制御部３４は、ＣＳＶ処理管理部３２を参照し、全てのＣＳＶファイルについて処理が終了したか否かを判断する。ここでは、２つのＣＳＶファイル（user.csv、sosiki.csv）の処理が終了しているため、ステップＳ１１に移って終了する。
【００８８】
なお、以上の例では該当しなかったが、ステップＳ８で参照関係を持たない場合には、データ変換部３５はステップＳ１０に移る。ステップＳ１０においては、データ変換部３５は、属性マッピング定義３１ｂ、配置構成定義３１ｃの定義内容に基づいて、ディレクトリ項目識別名dnを作成し、ステップＳ７に移る。
【００８９】
次に、このようにしてステップＳ０〜Ｓ１１が終了したとする。
【００９０】
制御部３４は、データ変換部３５による作成が完了した第３データ４３を出力部３６に送出する。出力部３６は、この第３データ４３を１つのＬＤＩＦファイル４としてＬＤＡＰディレクトリ装置２０に出力する。
【００９１】
ＬＤＡＰディレクトリ装置２０においては、ＬＤＩＦ入力部２２が、ＬＤＩＦファイル４を受けると、当該ＬＤＡＰファイル４をインポートしてＬＤＡＰ階層構造データに変換し、図３に示したように、当該ＬＤＡＰ階層構造データをデータ格納部２１に格納する。
【００９２】
上述したように本実施形態によれば、入力部３３が各ＣＳＶファイル２１，２２をリレーショナルデータベース装置１０から取得し、データ変換部３５が、制御部３４から送出されたＣＳＶファイル２１，２２のうち、階層構成をもつ組織ＣＳＶファイル２２を、階層構成定義３１ｅに基づいて、上位組織ＩＤに基づく組織ＩＤ順に組織名を配置したＬＤＩＦ形式の第１データ４１に変換し、参照関係をもつユーザＣＳＶファイル２１を、エントリ関係定義３１ｄに基づいて、ユーザＩＤ毎にユーザ名を配置したＬＤＩＦ形式の第２データ４２に変換し、第１データ４１の後に第２データ４２を書込んでＬＤＩＦ形式の第３データ４３を作成し、出力部３６が第３データ４３を１つのＬＤＩＦファイル４としてＬＤＡＰディレクトリ装置２０に出力する。
【００９３】
このように、階層構造や参照関係をもつ複数のＣＳＶファイル２１，２２をＬＤＩＦ形式のデータ４１，４２，４３に変換する場合に、予めルール定義部３１に書き込まれた各定義３１ａ〜３１ｅに基づいて変換を行うので、従来のスキーママッピング定義ファイル３１，３２を作成する手間を不要にでき、作業者の負担を軽減することができる。
【００９４】
補足すると、ＬＤＡＰディレクトリデータ変換装置３０は、階層構造や参照関係に関する最小限の情報を定義しておく構成により、図１３に示すように、階層構造、エントリ関係を表現するＬＤＩＦファイル４を容易に作成できるため、ユーザの負担を軽減できる。
【００９５】
これに対し、従来は、図１４に示したように、ＣＳＶファイル２１，２２，…，２ｎ毎に、スキーママッピング定義ファイル３１，３２…，３ｎを作成する手間が必要であるので、ユーザに負担がかかっている。
【００９６】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００９７】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００９８】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００９９】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１００】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１０１】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１０２】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１０３】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【０１０４】
１０…リレーショナルデータベース装置、１１…テーブル格納部、１１ａ…ユーザテーブル定義、１１ｂ…組織マスタテーブル定義、１１ｃ…ユーザマスタデータ、１１ｄ…組織マスタデータ、１２…ＣＳＶ出力部、２０…ＬＤＡＰディレクトリ装置、２１…データ格納部、２２…ＬＤＩＦ入力部、３０…ＬＤＡＰディレクトリデータ変換装置、３１…ルール定義部、３１ａ…オブジェクトクラスマッピング定義、３１ｂ…属性マッピング定義、３１ｃ…配置構成定義、３１ｄ…エントリ関係定義、３１ｅ…階層構成定義、３２…ＣＳＶ処理管理部、３３…入力部、３４…制御部、３５…データ変換部、３６…出力部。
【図１】
2011141687.tif 000003
【図２】
2011141687.tif 000004
【図３】
2011141687.tif 000005
【図４】
2011141687.tif 000006
【図５】
2011141687.tif 000007
【図６】
2011141687.tif 000008
【図７】
2011141687.tif 000009
【図８】
2011141687.tif 000010
【図９】
2011141687.tif 000011
【図１０】
2011141687.tif 000012
【図１１】
2011141687.tif 000013
【図１２】
2011141687.tif 000014
【図１３】
2011141687.tif 000015
【図１４】
2011141687.tif 000016