(57)【要約】【課題】複数のデータベース（ＤＢ）管理サーバに係るストアドプロシージャの検証処理を適確に実行でき、検証結果を見易く分類できるストアドプロシージャ検証システムを提供する。【解決手段】このシステム１０５では、ストアドプロシージャ読込処理部１０６によりネットワーク１０４を介して取得したＤＢ管理サーバ１００、１０１のストアドプロシージャ用ＤＢ１０２、１０３のデータを、分割処理部１１０でユーザ指定ディレクトリ１２３下に分割キー１１８とＳＱＬ名付与規則１０９とに基づいてＳＱＬ単位に分割した上、検証処理部１１４で編集規則テーブル用ＤＢ１１５の編集規則テーブルを参照して検証処理（検証処理の結果に差異があれば検証処理時に出力されたログ情報を編集規則テーブルに従って編集した結果を再度検証処理する）し、その結果が検証結果出力処理部１１６により自動的に分類されて検証結果出力ライブラリ用ＤＢ１１７に格納される。【選択図】図１
2012008784.tif 000002
【特許請求の範囲】
【請求項１】
ストアドプロシージャを格納したデータベースが付設される複数のデータベース管理サーバに対してネットワークを介して接続されると共に、当該ストアドプロシージャを当該ネットワーク経由で取得して検証処理する機能を持つサーバにより構成されるストアドプロシージャ検証システムであって、
前記サーバは、前記ストアドプロシージャをＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理し、前記検証処理を当該分割したＳＱＬについて行う機能を持つことを特徴とするストアドプロシージャ検証システム。
【請求項２】
請求項１記載のストアドプロシージャ検証システムにおいて、前記サーバは、前記分割したＳＱＬの名称をＳＱＬ名付与規則によって指定する機能を持つことを特徴とするストアドプロシージャ検証システム。
【請求項３】
請求項１又は２記載のストアドプロシージャ検証システムにおいて、前記サーバは、検証対象となる前記ＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含む編集規則情報を格納した編集規則テーブルを有し、前記検証処理時に出力されるログ情報を前記編集規則テーブルの前記編集規則情報に基づいて編集した結果について再度検証処理を行う機能を持つことを特徴とするストアドプロシージャ検証システム。
【請求項４】
請求項３記載のストアドプロシージャ検証システムにおいて、前記検証処理された前記ストアドプロシージャについて、前記ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理する機能を持つことを特徴とするストアドプロシージャ検証システム。
【請求項５】
複数のデータベース管理サーバに付設されるデータベースに格納されたストアドプロシージャをネットワーク経由でサーバにより取得して検証処理するストアドプロシージャ検証方法であって、
前記サーバ側において、前記ストアドプロシージャをＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理するステップと、前記分割処理により前記分割したＳＱＬの名称をＳＱＬ名付与規則によって指定するステップと、前記検証処理を前記分割したＳＱＬについて行うステップと、前記検証処理時に出力されるログ情報を編集規則テーブルの編集規則情報に基づいて編集した結果について再度検証処理を行うステップと、前記検証処理された前記ストアドプロシージャについて、前記ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理するステップと、を有することを特徴とするストアドプロシージャ検証方法。
【請求項６】
請求項５記載のストアドプロシージャ検証方法において、前記編集規則情報は、検証対象となる前記ＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含むことを特徴とするストアドプロシージャ検証方法。
【請求項７】
複数のデータベース管理サーバに付設されるデータベースに格納されたストアドプロシージャをネットワーク経由でサーバにより取得して検証処理するときに当該サーバで実行されるストアドプロシージャ検証用プログラムであって、
前記ストアドプロシージャをＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理するステップの情報と、前記分割処理により前記分割したＳＱＬの名称をＳＱＬ名付与規則によって指定するステップの情報と、前記検証処理を前記分割したＳＱＬについて行うステップの情報と、前記検証処理時に出力されるログ情報を編集規則テーブルの編集規則情報に基づいて編集した結果について再度検証処理を行うステップの情報と、前記検証処理された前記ストアドプロシージャについて、前記ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理するステップの情報と、を有することを特徴とするストアドプロシージャ検証用プログラム。
【請求項８】
請求項７記載のストアドプロシージャ検証用プログラムにおいて、前記編集規則情報は、検証対象となる前記ＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含むことを特徴とするストアドプロシージャ検証用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータベース管理サーバより取得したストアドプロシージャをユーザが指定した文字コードでＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）に分割して出力し、比較結果（差異）による分類を自動的に実行してストアドプロシージャの整合性を検証するストアドプロシージャ検証システム、ストアドプロシージャ検証方法、及びストアドプロシージャ検証用プログラムに関する。
【背景技術】
【０００２】
従来、ストアドプロシージャを管理するシステムに関連する周知技術としては、例えば特定のストアドプロシージャに従属して実行される他のストアドプロシージャの従属関係（他のプロシージャ及びトリガ）を呼出関係図（木構造）として直接的に表示する「ストアドプロシージャ呼出関係図の表示方法及びデータベース管理システム」（特許文献１参照）が挙げられる。
【０００３】
また、ファイルを自動分類する周知技術としては、例えばユーザが行う分類操作を自動化してユーザの負担を軽減すると共に、迅速確実なファイル分類を行うことができる「ファイル管理装置」（特許文献２参照）が挙げられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８５０１２号公報
【特許文献２】特開平７−１２１４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１記載の技術は、単一のデータベース管理サーバにおいて複数のストアドプロシージャに係る従属関係を図示（木構造表示）する機能を有するものであるため、複数のデータベース管理サーバに付設されるデータベースに格納されるストアドプロシージャに係る検証機能は有しておらず、昨今の大規模化されたシステム運用が汎用的な観点からすれば適用性が乏しいという問題がある。
【０００６】
また、特許文献２記載の技術は、一般的なファイルを対象にして自動分類化機能を提供するものであり、ストアドプロシージャの自動分類化の機能は有していないため、複数のデータベース管理サーバに付設されるデータベースに格納されるストアドプロシージャに係る検証には適用し難いという問題がある。
【０００７】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、複数のデータベース管理サーバに係るストアドプロシージャの検証処理を人手を介在せずに適確に実行できると共に、検証結果をユーザが見易く分類できるストアドプロシージャ検証システム、ストアドプロシージャ検証方法、及びストアドプロシージャ検証用プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記技術的課題を解決するため、本発明のストアドプロシージャ検証システムは、ストアドプロシージャを格納したデータベースが付設される複数のデータベース管理サーバに対してネットワークを介して接続されると共に、当該ストアドプロシージャを当該ネットワーク経由で取得して検証処理する機能を持つサーバにより構成されるストアドプロシージャ検証システムであって、サーバは、ストアドプロシージャをＳＱＬ単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理し、検証処理を当該分割したＳＱＬについて行う機能を持つことを特徴とする。
【０００９】
上記ストアドプロシージャ検証システムの一実施態様は、サーバは、分割したＳＱＬの名称をＳＱＬ名付与規則によって指定する機能を持つことを特徴とする。
【００１０】
上記何れかのストアドプロシージャ検証システムの他の実施態様は、サーバは、検証対象となるＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含む編集規則情報を格納した編集規則テーブル用データベースを有し、検証処理時に出力されるログ情報を編集規則テーブル用データベースの編集規則情報に基づいて編集した結果について再度検証処理を行う機能を持つことを特徴とする。
【００１１】
上記ストアドプロシージャ検証システムの別の実施態様は、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理する機能を持つことを特徴とする。
【００１２】
また、上記技術的課題を解決するため、本発明のストアドプロシージャ検証方法は、複数のデータベース管理サーバに付設されるデータベースに格納されたストアドプロシージャをネットワーク経由でサーバにより取得して検証処理するストアドプロシージャ検証方法であって、サーバ側において、ストアドプロシージャをＳＱＬ単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理するステップと、分割処理により分割したＳＱＬの名称をＳＱＬ名付与規則によって指定するステップと、検証処理を分割したＳＱＬについて行うステップと、検証処理時に出力されるログ情報を編集規則テーブルの編集規則情報に基づいて編集した結果について再度検証処理を行うステップと、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理するステップと、を有することを特徴とする。このストアドプロシージャ検証方法において、編集規則情報は、検証対象となるＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含むことが好ましい。
【００１３】
更に、上記技術的課題を解決するため、本発明のストアドプロシージャ検証用プログラムは、複数のデータベース管理サーバに付設されるデータベースに格納されたストアドプロシージャをネットワーク経由でサーバにより取得して検証処理するときに当該サーバで実行されるストアドプロシージャ検証用プログラムであって、ストアドプロシージャをＳＱＬ単位に分割するための分割キーを指定して当該ストアドプロシージャをＳＱＬ単位に分割処理するステップの情報と、分割処理により分割したＳＱＬの名称をＳＱＬ名付与規則によって指定するステップの情報と、検証処理を分割したＳＱＬについて行うステップの情報と、検証処理時に出力されるログ情報を編集規則テーブルの編集規則情報に基づいて編集した結果について再度検証処理を行うステップの情報と、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理するステップの情報と、を有することを特徴とする。このストアドプロシージャ検証用プログラムにおいて、編集規則情報は、検証対象となるＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含むことが好ましい。
【発明の効果】
【００１４】
本発明によれば、複数のデータベース管理サーバに格納されたストアドプロシージャの整合性の検証処理を人手を介することなく瞬時に実行できるため、ストアドプロシージャの検証処理に係る作業効率が向上する。また、ストアドプロシージャの検証処理を自動化して行うため、ユーザの人的操作ミスを極力抑制することができ、ストアドプロシージャの検証処理についての品（適確性）及び信頼性が向上する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例１に係るストアドプロシージャ検証システムの基本構成を運用環境全体を含めて示したブロック図である。
【図２】図１に示すストアドプロシージャ検証システムに備えられるストアドプロシージャ読込処理部の動作処理を示すフローチャートである。
【図３】図１に示すストアドプロシージャ検証システムに備えられる分割処理部の動作処理を示すフローチャートである。
【図４】図１に示すストアドプロシージャ検証システムに備えられるファイル出力処理部の動作処理を示すフローチャートである。
【図５】図１に示すストアドプロシージャ検証システムに備えられる検証処理部の動作処理を示すフローチャートである。
【図６】図５の動作処理に含まれるＳＱＬコンペア処理の細部を示したフローチャートある。
【図７】図６の動作処理に含まれるコンペア結果ログ編集処理の細部を示したフローチャートである。
【図８】図１に示すストアドプロシージャ検証システムに備えられる検証結果出力処理部の動作処理を示すフローチャートである。
【図９】図１に示すストアドプロシージャ検証システムで用いられる分割キーの構成（データ）を表示画面上で例示した模式図である。
【図１０】図１に示すストアドプロシージャ検証システムで用いられるＳＱＬ名付与規則の構成（データ）を表示画面上で例示した模式図である。
【図１１】図１に示すストアドプロシージャ検証システムで用いられる出力文字コードの構成（データ）を表示画面上で例示した模式図である。
【図１２】図１に示すストアドプロシージャ検証システムに備えられる編集規則テーブル用データベースの編集規則テーブルの構成（データを表示画面上で例示した模式図である。
【図１３】図１に示すストアドプロシージャ検証システムに備えられるストアドプロシージャ分割ライブラリ用データベースのストアドプロシージャ分割ライブラリの構成（データ）を表示画面上で例示した模式図である。
【図１４】図１に示すストアドプロシージャ検証システムに備えられる検証結果出力ライブラリ用データベースの検証結果出力ライブラリの構成（データ）を表示画面上で例示した模式図である。
【図１５】図１に示すストアドプロシージャ検証システムに接続されるデータベース管理サーバに付設されるストアドプロシージャ用データベースのストアドプロシージャの構成（データ）を表示画面上で例示した模式図であり、（ａ）は一方のストアドプロシージャ用データベースのストアドプロシージャに関する構成（データ）の模式図、（ｂ）は他方のストアドプロシージャ用データベースのストアドプロシージャに関する構成（データ）の模式図である。
【図１６】図１に示すストアドプロシージャ検証システムに備えられる検証結果出力処理部によるコンペア結果ログ出力例を表示画面上で例示した模式図であり、（ａ）は検証結果ログ（一致）のデータを例示する図、（ｂ）は検証結果ログ（不一致）についての許容できる差異がある場合のデータを例示する図、（ｃ）は検証結果ログ（不一致）についての明らかな差異がある場合のデータを例示する図である。
【図１７】図１に示すストアドプロシージャ検証システム（サーバ）でストアドプロシージャ検証プログラムを実行するときのストアドプロシージャ検証システム機能を表示画面上で例示した図である。
【発明を実施するための形態】
【００１６】
以下、本発明のストアドプロシージャ検証システム、ストアドプロシージャ検証方法、及びストアドプロシージャ検証用プログラムについて、図面を参照して詳細に説明する。
【実施例１】
【００１７】
図１は、本発明の実施例１に係るストアドプロシージャ検証システム１０５の基本構成を運用環境全体を含めて示したブロック図である。
【００１８】
このストアドプロシージャ検証システム１０５は、ストアドプロシージャを格納したストアドプロシージャ用データベース１０２、１０３が付設される複数（ここでは２台）のデータベース管理サーバ（ＳＱＬサーバ）１００、１０１に対してネットワーク１０４を介して接続されて構成されるもので、ストアドプロシージャをネットワーク１０４経由で取得して検証する機能を持つコンピュータシステムのサーバである。因みに、ここでの各サーバについては、よく知られているように、略図するＣＰＵ、主メモリ、補助記憶部（ＨＤＤ）等による記憶装置、表示装置、及びキーボードマウス等の入出力装置を備えて構成されるものである。
【００１９】
ストアドプロシージャ検証システム１０５は、具体的に云えば、データベース管理サーバ（ＳＱＬサーバ）１００、１０１に付設されたストアドプロシージャ用データベース１０２、１０３からネットワーク１０４を介して取得したストアドプロシージャのデータ（以下、適宜ストアドプロシージャＡ、Ｂとして区別する）をストアドプロシージャ読込用データベース１０７に格納するストアドプロシージャ読込処理部１０６と、ストアドプロシージャのＳＱＬ毎の区切りの文字列である分割キー１０８、区切られた範囲のＳＱＬ名を決定するＳＱＬ名付与規則１０９を入力してストアドプロシージャをＳＱＬ単位に分割する分割処理部１１０と、ユーザによって指定される出力文字コード１１２、ユーザ指定ディレクトリ１２３を入力し、分割したＳＱＬを指定された文字コードで指定されたディレクトリ配下のライブラリトのデータ（ストアドプロシージャ分割ライブラリのデータ）としてストアドプロシージャ分割ライブラリ用データベース１１３に出力するファイル出力処理部１１１と、ストアドプロシージャ分割ライブラリ（分割したＳＱＬ）のデータを入力して検証処理を実施すると共に、検証処理の結果に差異があれば検証処理時に出力されるログ情報を編集規則テーブル用データベース１１５に格納された編集規則情報に従って編集し、その編集結果を再度検証処理する検証処理部１１４と、検証処理部１１４による検証処理の結果をユーザが指定するユーザ指定ディレクトリ１２３の配下のライブラリのデータとして、検証結果出力ライブラリ用データベース１１７に出力する検証結果出力処理部１１６と、を備えて構成される。
【００２０】
ここで、編集規則テーブル用データベース１１５の編集規則情報は、検証対象となるＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含んでいる。これにより、検証処理部１１４は、上述したように検証処理時に出力されるログ情報を編集規則テーブル用データベース１１５の編集規則情報に基づいて編集した結果について再度検証処理を行う機能を持つ。また、これを受けて検証結果出力処理部１１６は、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して検証結果出力ライブラリ用データベース１１７に対して保持管理する機能を持つ。具体的には、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであれば検証結果ログ（一致）用データベース１２０に格納し、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであれば、検証結果ログ（不一致）用データベース１２１の許容できる差異有り領域１２１ａ、明らかな差異有り領域１２１ｂにそれぞれ格納する。尚、検証結果出力ライブラリ用データベース１１７は、その他に共存差異データを格納するための検証結果ログ（共存差異）用データベース１２２を有している。
【００２１】
図２は、このストアドプロシージャ検証システム１０５に備えられるストアドプロシージャ読込処理部１０６の動作処理を示すフローチャートである。
【００２２】
ストアドプロシージャ読込処理部１０６に係るストアドプロシージャ読込処理では、先ず、ネットワーク１０４を介して入力されたデータ管理サーバ１００の管理下にあるストアドプロシージャ用データベース１０２のストアドプロシージャＡをオープンにするストアドプロシージャＡオープン（ステップＳ２００）の処理を行った後、ストアドプロシージャ用データベース１０２のストアドプロシージャＡの文字コードを判定するストアドプロシージャＡ文字コード判定（ステップＳ２０１）の処理を行い、更にストアドプロシージャ用データベース１０２のストアドプロシージャＡを判定した文字コードで読込む（ステップＳ２０２）処理を行う。
【００２３】
引き続き、読み込んだストアドプロシージャＡを格納先のエリアであるストアドプロシージャ読込用データベース１０７（ストアドプロシージャ読込エリア）に展開する（ステップＳ２０３）処理を行った後、ストアドプロシージャ用データベース１０２のストアドプロシージャＡをクローズするストアドプロシージャＡクローズ（ステップＳ２０４）の処理を行う。
【００２４】
次に、同様にネットワーク１０４を介して入力されたデータ管理サーバ１０１の管理下にあるストアドプロシージャ用データベース１０３のストアドプロシージャＢをオープンにするストアドプロシージャＢオープン（ステップＳ２０５）の処理を行った後、ストアドプロシージャ用データベース１０３のストアドプロシージャＢの文字コードを判定するストアドプロシージャＢ文字コード判定（ステップＳ２０６）の処理を行い、更にストアドプロシージャ用データベース１０３のストアドプロシージャＢを判定した文字コードで読込む（ステップＳ２０７）処理を行う。
【００２５】
引き続き、読み込んだストアドプロシージャＢを格納先のエリアであるストアドプロシージャ読込用データベース１０７（ストアドプロシージャ読込エリア）に展開する（ステップＳ２０８）処理を行った後、ストアドプロシージャ用データベース１０３のストアドプロシージャＢをクローズするストアドプロシージャＢクローズ（ステップＳ２０９）の処理を行ってから動作処理を終了する。
【００２６】
図３は、ストアドプロシージャ検証システム１０５に備えられる分割処理部１１０の動作処理を示すフローチャートである。
【００２７】
分割処理部１１０に係る分割処理では、先ず、ストアドプロシージャ読込処理部１０６によりストアドプロシージャ読込用データベース１０７に展開されたストアドプロシージャＡ取得（ステップＳ３００）の処理を行った後、ＳＱＬ名の付与手順を定義したＳＱＬ名付与規則１０９を取得する（ステップＳ３０１）処理を行い、更にストアドプロシージャＡをＳＱＬ毎に分割するための文字列（キー）を定義した分割キー１０８を取得する（ステップＳ３０２）処理を行う。
【００２８】
引き続き、カウンタｉを０に設定する処理（ステップＳ３０３）を行った後、ストアドプロシージャＡを一行読込む（ステップＳ３０４）処理を行う。
【００２９】
次に、ストアドプロシージャＡの終端であるか否かを判定（ステップＳ３０５）する処理を行う。この判定の結果、終端であればストアドプロシージャ読込用データベース１０７に展開されたストアドプロシージャＢ取得（ステップＳ３１２）の処理へジャンプするが、終端でなければ読込んだ文字列に分割キー１０８が含まれるか否かを判定（ステップＳ３０６）する処理を行う。この判定の結果、分割キー１０８が含まれればカウンタｉを１つカウントアップするためにカウンタｉをｉ＋１に設定する処理（ステップＳ３０７）を行い、更にプログラム内のエリアにレコードＡ（ｉ）を作成する（ステップＳ３０８）処理を行った後、読み込みを継続するために先のストアドプロシージャＡを一行読込む（ステップＳ３０４）処理にリターンするが、分割キー１０８が含まれなければ読込んだ一行の文字列にＳＱＬ名付与規則１０９と合致する文字列があるかを検索すべく、ＳＱＬ名付与規則１０９と一致するか否かを判定（ステップＳ３０９）する処理を行う。この判定の結果、ＳＱＬ名付与規則１０９と一致すれば先に作成したレコードＡ（ｉ）にＳＱＬ名付与規則１０９に則ったＳＱＬ名を付与（ステップＳ３１０）する処理を行うが、ＳＱＬ名付与規則１０９と一致しなければ先に作成したレコードＡ（ｉ）に読込行を追加する（ステップＳ３１１）処理を行い、何れの場合もその後は更に読み込みを継続するため、ストアドプロシージャＡを一行読込む（ステップＳ３０４）処理の前にリターンする。
【００３０】
ところで、先のストアドプロシージャＡの終端であるか否かの判定（ステップＳ３０５）の結果、終端であればストアドプロシージャ読込処理部１０６でストアドプロシージャ読込用データベース１０７展開されたストアドプロシージャＢ取得（ステップＳ３１２）の処理を行った後、カウンタｉを０に設定する処理（ステップＳ３１３）を行う。これ以降については概ねストアドプロシージャＡを対象にした場合と同様な処理を行う。
【００３１】
即ち、ストアドプロシージャＢを一行読込む（ステップＳ３１４）処理を行った後、ストアドプロシージャＢの終端であるか否かを判定（ステップＳ３１５）する処理を行う。この判定の結果、終端であれば動作処理を終了するが、終端でなければ読込んだ文字列に分割キー１０８が含まれるか否かを判定（ステップＳ３１６）する処理を行う。この判定の結果、分割キー１０８が含まれればカウンタｉを１つカウントアップするためにカウンタｉをｉ＋１に設定する処理（ステップＳ３１７）を行い、更にプログラム内のエリアにレコードＢ（ｉ）を作成する（ステップＳ３１８）処理を行った後、読み込みを継続するために先のストアドプロシージャＢを一行読込む（ステップＳ３１４）処理にリターンするが、分割キー１０８が含まれなければ読込んだ一行の文字列にＳＱＬ名付与規則１０９と合致する文字列があるかを検索すべく、ＳＱＬ名付与規則１０９と一致するか否かを判定（ステップＳ３１９）する処理を行う。この判定の結果、ＳＱＬ名付与規則１０９と一致すれば先に作成したレコードＢ（ｉ）にＳＱＬ名付与規則１０９に則ったＳＱＬ名を付与（ステップＳ３２０）する処理を行うが、ＳＱＬ名付与規則１０９と一致しなければ先に作成したレコードＢ（ｉ）に読込行を追加する（ステップＳ３２１）処理を行い、何れの場合もその後は更に読み込みを継続するため、ストアドプロシージャＢを一行読込む（ステップＳ３１４）処理の前にリターンする。
【００３２】
図４は、ストアドプロシージャ検証システム１０５に備えられるファイル出力処理部１１１の動作処理を示すフローチャートである。
【００３３】
ファイル出力処理部１１１に係るファイル出力処理では、先ず、システムが提供する外部ユーザインタフェースよりユーザ指定ディレクトリ１２３を読込む（ステップＳ４００）処理を行った後、取得したユーザ指定ディレクトリ１２３の配下にストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）格納用のディレクトリを作成する（ステップＳ４０１）処理を行う。尚、ストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のディレクトリ構成（データ）の具体例については、後文で説明する図１３に示す。
【００３４】
この後、ループの処理を分割処理部１１０で作成したレコードＡが存在する間（ステップＳ４０２）行い、分割処理部１１０によりＳＱＬ名付与規則１０９に則って付与されたＳＱＬ名に従ってレコードＡ（ｎ）に付加されたＳＱＬ名をファイル名としてストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のディレクトリ配下に保存する（ステップＳ４０３）処理を行ってからループ（ステップＳ４０４）の処理を行う。尚、ここでの一連の処理は例えばレコードＡ（ｉ）のレコードＡ（１）からレコードＡ（ｎ）を対象にするものである。
【００３５】
更に、ユーザ指定ディレクトリ１２３の配下にストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）格納用のディレクトリを作成する（ステップＳ４０５）処理を行う。尚、ここでのストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のディレクトリ構成（データ）の具体例についても、後文で説明する図１３に示す。
【００３６】
この後、ループの処理を分割処理部１１０で作成したレコードＢが存在する間（ステップＳ４０６）行い、分割処理部１１０によりＳＱＬ名付与規則１０９に則って付与されたＳＱＬ名に従ってレコードＢ（ｎ）に付加されたＳＱＬ名をファイル名としてストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のディレクトリ配下に保存する（ステップＳ４０７）処理を行った後、ループ（ステップＳ４０８）の処理を行ってから動作処理を終了する。尚、ここでの一連の処理についても具体的には例えばレコードＢ（ｉ）のレコードＢ（１）からレコードＡ（ｎ）を対象にするものである。
【００３７】
図５は、ストアドプロシージャ検証システム１０５に備えられる検証処理部１１４の動作処理を示すフローチャートである。
【００３８】
検証処理部１１４に係る検証処理では、先ず、ファイル出力処理部１１１で作成したストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）について、ＳＱＬ名をキーとして昇順にソートする（ステップＳ５００）処理を行うと共に、ファイル出力処理部１１１で作成したストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）について、ＳＱＬ名をキーとして昇順にソートする（ステップＳ５０１）処理を行った後、ループの処理をストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）が存在する間（ステップＳ５０２）行う。
【００３９】
更に、ストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のＳＱＬ名＝ストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のＳＱＬ名であるか否かの判定（ステップＳ５０３）の処理を行う。この判定の結果、ＳＱＬ名が一致すればループ（ステップＳ５０５）の処理を行うが、ＳＱＬ名が一致しなければプログラム内のエリアである検証結果格納ワークテーブル用データベース５１４（結果格納ワークテーブルＡ）にそのＳＱＬ名を格納する（ステップＳ５０４）処理を行ってからループ（ステップＳ５０５）の処理を行う。
【００４０】
引き続き、ループの処理をストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）が存在する間（ステップＳ５０６）行った後、ストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のＳＱＬ名＝ストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のＳＱＬ名であるか否かの判定（ステップＳ５０７）の処理を行う。この判定の結果、ＳＱＬ名が一致すればループ（ステップＳ５０９）の処理を行うが、ＳＱＬ名が一致しなければプログラム内のエリアである検証結果格納ワークテーブル用データベース５１５（結果格納ワークテーブルＢ）にそのＳＱＬ名を格納する（ステップＳ５０８）処理を行ってからループ（ステップＳ５０９）の処理を行う。
【００４１】
更に、ループの処理をストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）が存在する間（ステップＳ５１０）行った後、再びストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のＳＱＬ名＝ストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のＳＱＬ名であるか否かの判定（ステップＳ５１１）の処理を行う。この判定の結果、ＳＱＬ名が一致しなければループ（ステップＳ５１３）の処理を行ってから動作処理を終了するが、ＳＱＬ名が一致すればＳＱＬコンペア処理（ステップＳ５１２）を実施した後、ループ（ステップＳ５１３）の処理を行ってから動作処理を終了する。尚、ＳＱＬコンペア処理（ステップＳ５１２）については、以下に図６を参照して詳述する。
【００４２】
図６は、図５に示した検証処理中に含まれるＳＱＬコンペア処理（ステップＳ５１２）の細部を示したフローチャートある。
【００４３】
ＳＱＬコンペア処理では、先ず、ストアドプロシージャ分割ライブラリ用データベース１１８（ストアドプロシージャ分割ライブラリＡ）のＳＱＬ（名）とストアドプロシージャ分割ライブラリ用データベース１１９（ストアドプロシージャ分割ライブラリＢ）のＳＱＬ（名）をコンペア（比較）する（ステップＳ６００）処理を行った後、コンペアの結果をＬＯＧ（ログ）情報として、プログラム内のエリアであるＬＯＧ格納用データベース６１０（ＬＯＧ格納エリア）に保存する（ステップＳ６０１）処理を行う。
【００４４】
この後、ＬＯＧ格納用データベース６１０（ＬＯＧ格納エリア）よりＬＯＧ（ログ）情報を取得する（ステップＳ６０２）処理を行い、取得したＬＯＧ（ログ）情報について、文字列「ＦＣ：相違点は検出されませんでした」が有りか否かを判定（ステップＳ６０３）する処理を行う。この判定の結果、文字列が有ればコンペアしたＳＱＬには差異のないものとして、プログラム内のエリアである検証結果格納ワークテーブル用データベース６１１（検証結果格納ワークテーブルＣ）にそのＳＱＬ名を格納する（ステップＳ６０４）処理を行ってから動作処理を終了するが、文字列が無ければコンペア結果編集処理（ステップＳ６０５）を行う。尚、文字列に差異がない場合に出力されるＬＯＧ（ログ）情報については、後文で説明する図１６に具体例を示し、コンペア結果編集処理（ステップＳ６０５）の細部は後文で図７を参照して詳述する。
【００４５】
引き続き、編集結果をコンペアする（ステップＳ６０６）処理を行った後、編集結果のコンペアについて相違があるか否かを判定（ステップＳ６０７）する処理を行う。この判定の結果、相違がなければそのＳＱＬを実質同一の内容のＳＱＬとみなしてプログラム内のエリアである検証結果格納ワークテーブル用データベース６１２（検証結果格納ワークテーブルＤ）にＳＱＬ名を格納する（ステップＳ６０８）処理を行ってから動作処理を終了するが、相違があればそのＳＱＬを明らかな差異のあるＳＱＬとみなしてプログラム内のエリアである検証結果格納ワークテーブル用データベース６１３（検証結果格納ワークテーブルＥ）にＳＱＬ名を格納する（ステップＳ６０９）処理を行ってから動作処理を終了する。
【００４６】
図７は、図６に示したＳＱＬコンペア処理中に含まれるコンペア結果ログ編集処理（６０５）の細部を示したフローチャートである。
【００４７】
コンペア結果ログ編集処理では、先ず、カウンタｉを０に設定する処理（ステップＳ７００）を行った後、ＬＯＧ格納用データベース６１０（ログ格納エリア）からログ情報を一行読み込み（ステップＳ７０１）する処理を行い、更にログの終わりか否かを判定（ステップＳ７０２）する。
【００４８】
この判定の結果、ログの終わりであれば編集規則テーブル用データベース１１５から編集規則テーブルを読み込む（ステップＳ７０７）処理へジャンプするが、ログの終わりでなければ読み込み行に「＊＊＊＊￥比較元ＳＱＬ￥」が含まれるか否かを判定（ステップＳ７０３）する。因みに、ここでの「＊＊＊＊￥比較元ＳＱＬ￥」は、後文で説明する図１３に示されるストアドプロシージャ分割ライブラリのディレクトリ構成（データ）構成に基づいてコンペアした結果、ログに固定的に差異のあるブロック毎に出力される文字列であり、具体例は後文で説明する図１６に示す。
【００４９】
この判定の結果、読み込み行に「＊＊＊＊￥比較元ＳＱＬ￥」が含まれればカウンタｉをカウントアップするため、カウンタｉをｉ＋１に設定する処理（ステップＳ７０４）を行った後、プログラム内のエリアにレコードＬ（ｉ）を作成する（ステップＳ７０５）処理を行い、更に読み込みを継続させるためにＬＯＧ格納用データベース６１０（ログ格納エリア）からログ情報を一行読み込み（ステップＳ７０１）する処理の前にリターンするが、読み込み行に「＊＊＊＊￥比較元ＳＱＬ￥」が含まれなければプログラム内のエリアに作成したレコードＬ（ｉ）に読み込んだ行を追加（ステップＳ７０６）処理を行った後、更に読み込みを継続させるためにＬＯＧ格納用データベース６１０（ログ格納エリア）からログ情報を一行読み込み（ステップＳ７０１）する処理の前にリターンするする。
【００５０】
ところで、上述したログの終わりか否かの判定（ステップＳ７０２）の処理の結果、ログの終わりであるときにログの編集規則を定義した編集規則テーブルを読み込む（ステップＳ７０７）処理の後は、ループの処理をレコードＬが存在する間、レコードＬを編集規則に従い編集する（ステップＳ７０８）ようにする。尚、ここでの編集は例えばレコードＬ（１）からレコードＬ（ｎ）を対象にするものであり、編集規則テーブルの具体例は後文で説明する図１２に示す。
【００５１】
更に、コメント記号があるか否かを判定（ステップＳ７０９）する。この判定の結果、コメント記号があればコメント記号を含めてコメント対象の文字列を削除（ステップＳ７１０）する処理を行った後、全角スペースがあるか否かを判定（ステップＳ７１１）するが、コメント記号がなければジャンプして同様に全角スペースがあるか否かを判定（ステップＳ７１１）する。この判定の結果、全角スペースがあれば全角スペースを半角スペースに変換（ステップＳ７１２）する処理を行った後、スペースが連続しているか否かを判定（ステップＳ７１３）するが、全角スペースがなければジャンプして同様にスペースが連続しているか否かを判定（ステップＳ７１３）する。この判定の結果、スペースが連続していれば連続したスペースを１つの半角スペースに変換する（ステップＳ７１４）処理を行った後、クォーテーション（’）が連続しているか否かを判定（ステップＳ７１５）するが、スペースが連続していなければジャンプして同様にクォーテーション（’）が連続しているか否かを判定（ステップＳ７１５）する。この判定の結果、クォーテーション（’）が連続していれば２つのクォーテーション（’）を１つのクォーテーション（’）に変換する（ステップＳ７１６）処理を行った後、空白行があるかを判定（ステップＳ７１７）するが、クォーテーション（’）が連続していなければジャンプして同様に、空白行があるかを判定（ステップＳ７１７）する。この判定の結果、空白行があれば空白行を削除する（ステップＳ７１８）処理を行った後、検証対象の２のストアドプロシージャの文字コードが異なり、かつ、全角文字があるか否かの判定（ステップＳ７１９）を行うが、空白行がなければジャンプして同様に、検証対象の２のストアドプロシージャの文字コードが異なり、かつ、全角文字があるか否かの判定（ステップＳ７１９）を行う。この判定の結果、該当すれば全角文字を黒塗り四角（正方形）記号に変換する（ステップＳ７２０）処理を行った後、改行コードがあるか否かを判定（ステップＳ７２１）するが、該当しなければジャンプして同様に、改行コードがあるか否かを判定（ステップＳ７２１）する。この判定の結果、改行コードがあれば改行コードを削除（ステップＳ７２２）する処理を行った後、ループ（ステップＳ７２３）の処理を行ってから動作処理を終了するが、改行コードがなければジャンプして同様に、ループ（ステップＳ７２３）の処理を行ってから動作処理を終了する。因みに、上述したコメント記号があるか否かを判定（ステップＳ７０９）する処理〜改行コードを削除（ステップＳ７２２）する処理に至る各処理内容は、あくまでも一例を示したものであり、編集規則テーブル用データベース１１５の編集規則テーブルの設定により変更可能なものである。
【００５２】
図８は、ストアドプロシージャ検証システム１０５に備えられる検証結果出力処理１１６の動作処理を示すフローチャートである。
【００５３】
検証結果出力処理１１６に係る検証結果出力処理では、先ず、システムが外部ユーザインタフェースとして提供しているユーザ指定ディレクトリ１２３よりユーザ指定ディレクトリ名を読込む（ステップＳ８００）処理を行った後、取得したユーザ指定ディレクトリ名の配下に検証結果を格納するための検証結果出力ライブラリ用のディレクトリを作成する（ステップＳ８０１）処理を行う。この検証結果出力用ライブラリのディレクトリ構成の具体例については、後文で説明する図１４に示す。
【００５４】
更に、検証処理部１１４で作成した検証結果格納ワークテーブル用データベース５１４（結果格納ワークテーブルＡ）の情報によりストアドプロシージャＡのみにＳＱＬが存在する結論として、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−存在差異−比較元」の配下にストアドプロシージャ分割ライブラリ用データベース１１８の「ユーザ指定ディレクトリ−比較元ＳＱＬ」の配下に格納されているＳＱＬをコピーすることにより、結果格納ワークテーブルＡの情報を検証結果ログ（存在差異）としてディレクトリ配下の検証結果ログ（存在差異）用データベース１２２に格納する（ステップＳ８０２）処理を行う。
【００５５】
次に、同様にして、検証処理部１１４で作成した検証結果格納ワークテーブル用データベース５１５（結果格納ワークテーブルＢ）の情報によりストアドプロシージャＢのみにＳＱＬが存在する結論として、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−存在差異−比較先」の配下にストアドプロシージャ分割ライブラリ用データベース１１９の「ユーザ指定ディレクトリ−比較先ＳＱＬ」の配下に格納されているＳＱＬをコピーすることにより、結果格納ワークテーブルＢの情報を検証結果ログ（存在差異）としてディレクトリ配下の検証結果ログ（存在差異）用データベース１２２に格納する（ステップＳ８０３）処理を行う。
【００５６】
引き続き、検証処理部１１４で作成した検証結果格納ワークテーブル用データベース６１１（検証結果格納ワークテーブルＣ）の情報によりストアドプロシージャＡのＳＱＬとストアドプロシージャＢのＳＱＬとは同一という結論として、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−一致−ＬＯＧ」の配下にコンペア結果のログ情報を格納する処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−一致−比較元」の配下にストアドプロシージャ分割ライブラリ用データベース１１８の「ユーザ指定ディレクトリ−比較元ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−一致−比較先」の配下にストアドプロシージャ分割ライブラリ用データベース１１９の「ユーザ指定ディレクトリ−比較先ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理を順次行うことにより、検証結果格納ワークテーブルＣの情報を検証結果ログ（一致）としてディレクトリ配下の検証結果ログ（一致）用データベース１２０に格納する（ステップＳ８０４）処理を行う。
【００５７】
更に、検証処理部１１４で作成した検証結果格納ワークテーブル用データベース６１２（検証結果格納ワークテーブルＤ）の情報によりストアドプロシージャＡのＳＱＬとストアドプロシージャＢのＳＱＬとは差異するが、その差異はコメントの相違や改行コードの位置が相違する等、編集規則テーブル用データベース１１５の編集規則テーブルの定義に相当する差異であり、実質的に同一の内容であるとする結論として、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−ＬＯＧ」の配下にコンペア結果のログ情報を格納する処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−比較元」の配下にストアドプロシージャ分割ライブラリ用データベース１１８の「ユーザ指定ディレクトリ−比較元ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−比較先」の配下にストアドプロシージャ分割ライブラリ用データベース１１９の「ユーザ指定ディレクトリ−比較先ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理を順次行うことにより、検証結果格納ワークテーブルＤの情報を検証結果ログ（不一致の許容できる差異）としてディレクトリ配下の検証結果ログ（不一致）用データベース１２１の許容できる差異有り領域１２１ａに格納する（ステップＳ８０５）処理を行う。
【００５８】
最後に、検証処理部１１４で作成した検証結果格納ワークテーブル用データベース６１３（検証結果格納ワークテーブルＥ）の情報により検証結果格納ワークテーブルＥ６１３の情報よりストアドプロシージャＡのＳＱＬとストアドプロシージャＢのＳＱＬとの差異は編集規則テーブル用データベース１１５の編集規則テーブルに定義に相当しない差異を示す明らかな差異有りをＳＱＬの内容とする結論として、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−ＬＯＧ」の配下にコンペア結果のログ情報を格納する処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−比較元」の配下にストアドプロシージャ分割ライブラリ用データベース１１８の「ユーザ指定ディレクトリ−比較元ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理、検証結果出力ライブラリ用データベース１１７の「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−比較先」の配下にストアドプロシージャ分割ライブラリ用データベース１１９の「ユーザ指定ディレクトリ−比較先ＳＱＬ」の配下に格納されているＳＱＬをコピーする処理を順次行うことにより、検証結果格納ワークテーブルＥの情報を検証結果ログ（不一致の明らかな差異）としてディレクトリ配下の検証結果ログ（不一致）用データベース１２１の明らかな差異有り領域１２１ｂに格納する（ステップＳ８０６）処理を行ってから動作処理を終了する。
【００５９】
図９は、ストアドプロシージャ検証システム１０５で用いられる分割キー１０８の構成（データ）を表示画面上で例示した模式図である。
【００６０】
分割キー１０８は、「分割キー１」に文字列「ＳＥＴ  ＡＮＳＩ ＮＵＬＬＳ」、「分割キー２」に文字列「ＳＥＴ  ＡＮＳＩ ＮＵＬＬＳ」を定義する他、「分割方法」として、「分割キー１を検索後、直後の分割キー２を検索。分割キー１から（それを含む行より）分割キー２の１行前（それを含む前行まで）を１つのＳＱＬとする。」旨を定義する。この分割キー１０８の定義内容は変更可能なものであり、定義内容を変更すれば様々なストアドプロシージャへの適用が可能である。
【００６１】
図１０は、ストアドプロシージャ検証システム１０５で用いられるＳＱＬ名付与規則１０９の構成（データ）を表示画面上で例示した模式図である。
【００６２】
ＳＱＬ名付与規則１０９は、「検索文字列１」に文字列「ＣＲＥＡＴＥ  ＰＲＯＣＥＤＵＲＥ  [ｄｂｏ]．[」、「検索文字列２」に文字列「]」を定義し、且つ「拡張子」として「.ｓｑｌ」を定義する他、「ＳＱＬ名付与方法」として、「検索文字列１を検索、直後の検索文字列２を検索。その検索文字列の間（検索文字列１と検索文字列２との間の文字列）を抽出し、拡張子を付与する」ことによりＳＱＬ名を決定する。このＳＱＬ名付与規則１０９の定義内容についても変更可能なものであり、定義内容を変更すれば様々なストアドプロシージャへの適用が可能である。
【００６３】
図１１は、ストアドプロシージャ検証システム１０５で用いられる出力文字コード１１２の構成（データ）を表示画面上で例示した模式図である。
【００６４】
出力文字コード１１２は、図１１に示すようなパターンでＳＱＬ単位に分割したストアドプロシージャを出力することが可能である。図１１中では、「文字コード表示例」のＵＮＩＣＯＤＥの「意味」はＵｎｉｃｏｄｅ、「文字コード表示例」のＳＪＩＳの「意味」はＳｈｉｆｔ ＪＩＳ、「文字コード表示例」のＪＩＳの「意味」はＩＳＯ−２０２２−ＪＰ、「文字コード表示例」のＥＵＣの「意味」はＥＵＣ−ＪＰ、「文字コード表示例」のＵＴＦ７の「意味」はＵＴＦ−７、「文字コード表示例」のＵＴＦ８の「意味」はＵＴＦ−８である場合を例示している。
【００６５】
図１２は、ストアドプロシージャ検証システム１０５に備えられる編集規則テーブル用データベース１１５の編集規則テーブルの構成（データ）を表示画面上で例示した模式図である。
【００６６】
編集規則テーブル用データベース１１５の編集規則テーブルには、「検索文字列」の項に対し、「検索文字列発見時の編集規則」の項が対応して定義されており、検索文字列の項に対象となる文字列を指定した場合、その文字列があるときに実施すべき処理が検索文字列発見時の編集規則の項から定められる。ここでの編集規則は、ストアドプロシージャから分割して出力されたＳＱＬを検証処理部１１４で検証処理した際に出力されるログ情報について、更に編集した結果を検証することにより、２つのストアドプロシージャを構成するＳＱＬ毎の相違を許容できる差異であって、実質同一内容のＳＱＬであると言えるレベルか、明らかな差異のあるレベルであるかの振り分けに使用するとき、各データベース管理サーバ（ＳＱＬサーバ）毎のストアドプロシージャの文字コード、改行コード等の差異や、動作に関係のないコメント等の差異を吸収するために用いる。この編集規則テーブルの編集規則を適用した後の検証処理により２つのストアドプロシージャを構成するＳＱＬに相違がない場合、２つのストアドプロシージャを構成するＳＱＬは実質は同一内容のＳＱＬであるとみなせる。この編集規則の定義内容についても変更可能であり、これを変更することにより様々なストアドプロシージャへの適用が可能である。
【００６７】
図１３は、ストアドプロシージャ検証システム１０５に備えられるストアドプロシージャ分割ライブラリ用データベース１１３のストアドプロシージャ分割ライブラリの構成（データ）を表示画面上で例示した模式図である。
【００６８】
ストアドプロシージャ分割ライブラリは、各データベース管理サーバ（ＳＱＬサーバ）から取得したストアドプロシージャを分割処理部１１０、ファイル出力処理部１１１でＳＱＬ単位に分割して出力する際、保存用にコンピュータ上に確保されるエリアであり、システムによって提供される外部ユーザインタフェースにユーザが指定するユーザ指定ディレクトリ１２３の配下に作成され、ストアドプロシージャ用データベース１０２のストアドプロシージャＡを構成するＳＱＬは「ユーザ指定ディレクトリ−比較元ＳＱＬ」の配下であるストアドプロシージャ分割ライブラリ用データベース１１８に格納され、ストアドプロシージャ用データベース１０３のストアドプロシージャＢを構成するＳＱＬは「ユーザ指定ディレクトリ−比較先ＳＱＬ」の配下であるストアドプロシージャ分割ライブラリ用データベース１１９に格納される。
【００６９】
図１４は、ストアドプロシージャ検証システム１０５に備えられる検証結果出力ライブラリ用データベース１１７の検証結果出力ライブラリの構成（データ）を表示画面上で例示した模式図である。
【００７０】
検証結果出力ライブラリは、検証処理部１１４、検証結果出力処理部１１６の出力結果を保存するためにコンピュータ上に確保されるエリアであり、システムによって提供される外部ユーザインタフェースにユーザが指定するユーザ指定ディレクトリ１２３の配下に作成され、ストアドプロシージャ用データベース１０２のストアドプロシージャＡを構成するＳＱＬとストアドプロシージャ用データベース１０３のストアドプロシージャＢを構成するＳＱＬとが等しい場合には、ストアドプロシージャＡを構成するＳＱＬは「ユーザ指定ディレクトリ−一致−比較元」の配下である検証結果ログ（一致）用データベース１２０に格納し、ストアドプロシージャＢを構成するＳＱＬは「ユーザ指定ディレクトリ−一致−比較先」の配下である検証結果ログ（一致）用データベース１２０に格納する。因みに、検証処理の結果、出力されるＬＯＧ情報は「ユーザ指定ディレクトリ−一致−ＬＯＧ」の配下であるＬＯＧ格納用データベース６１０に格納する。
【００７１】
また、ストアドプロシージャＡを構成するＳＱＬとストアドプロシージャＢを構成するＳＱＬとに相違があり、その相違が許容できる差異であって、実質同一のＳＱＬと認められる場合には、ストアドプロシージャＡを構成するＳＱＬは「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−比較元」の配下である検証結果ログ（不一致）用データベース１２１の許容できる差異有り領域１２１ａに格納し、ストアドプロシージャＢを構成するＳＱＬは「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−比較先」の配下である検証結果ログ（不一致）用データベース１２１の許容できる差異有り領域１２１ａに格納する。因みに、ここでも検証処理の結果、出力されるＬＯＧ情報は「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ１−ＬＯＧ」の配下であるＬＯＧ格納用データベース６１０に格納する。
【００７２】
更に、ストアドプロシージャ１０２を構成するＳＱＬとストアドプロシージャＢを構成するＳＱＬとに相違があり、その相違が明らかであって、同一のＳＱＬと認められない場合には、ストアドプロシージャＡを構成するＳＱＬは「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−比較元」の配下である検証結果ログ（不一致）用データベース１２１の明らかな差異有り領域１２１ｂに格納し、ストアドプロシージャＢを構成するＳＱＬは「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−比較先」の配下である検証結果ログ（不一致）用データベース１２１の明らかな差異有り領域１２１ｂに格納する。因みに、ここでも検証処理の結果、出力されるＬＯＧ情報は「ユーザ指定ディレクトリ−差異有り−ＬＥＶＥＬ２−ＬＯＧ」の配下であるＬＯＧ格納用データベース６１０に格納する。
【００７３】
加えて、ストアドプロシージャＡの構成要素とストアドプロシージャＢの構成要素とに差異がある場合、即ち、片方のみに存在するＳＱＬがある場合には、ストアドプロシージャＡ１０２のみに存在するＳＱＬを「ユーザ指定ディレクトリ−存在差異−比較元」の配下である検証結果ログ（存在差異）用データベース１２２に格納し、ストアドプロシージャＢのみに存在するＳＱＬを「ユーザ指定ディレクトリ−存在差異−比較先」の配下である検証結果ログ（存在差異）用データベース１２２に格納する。
【００７４】
図１５は、ストアドプロシージャ用データベース１０２、１０３のストアドプロシージャの構成（データ）を表示画面上で例示した模式図であり、同図（ａ）は一方のストアドプロシージャ用データベース１０２のストアドプロシージャＡに関する構成（データ）の模式図、（ｂ）は他方のストアドプロシージャ用データベース１０３のストアドプロシージャＢに関する構成（データ）の模式図である。
【００７５】
各データベース管理サーバ（ＳＱＬサーバ）１００、１０１のストアドプロシージャはテキスト形式のファイルであり、文字コードにＵＮＩＣＯＤＥやＳＨＩＦＴ−ＪＩＳ等が用いられる。
【００７６】
図１５（ａ）、（ｂ）のストアドプロシージャＡ、Ｂのサンプルでは、図１５の１０８の「ＳＥＴ  ＡＮＳＩ ＮＵＬＬＳ  ＯＮ」はストアドプロシージャＡ、Ｂを構成する１つのＳＱＬを区切るものであり、システムで定義する分割キー１０８と一致する。分割キー１０８の間にはＳＱＬが記述される。例えば図１５（ａ）、（ｂ）中の「Ａ１０００」１５０１は分割したＳＱＬ名であり、ＳＱＬ名付与規則１０９によってＳＱＬ名を確定する。
【００７７】
図１６は、ストアドプロシージャ検証システム１０５に備えられる検証結果出力処理部１１６によるコンペア結果ログ出力例を表示画面上で例示した模式図であり、同図（ａ）は検証結果ログ（一致）のデータを例示する図、同図（ｂ）は検証結果ログ（不一致）についての許容できる差異がある場合のデータを例示する図、同図（ｃ）は検証結果ログ（不一致）についての明らかな差異がある場合のデータを例示する図である。
【００７８】
図１６（ａ）の検証処理で出力されるログ情報のサンプルでは、検証対象のストアドプロシージャＡを構成するＳＱＬとストアドプロシージャＢを構成するＳＱＬとが指定欄１６００に表示され、これらのＳＱＬに相違がない場合、「ＦＣ：相違点は検出されませんでした」が上記指定欄１６００の下方の指定欄１６０１に表示される。
【００７９】
図１６（ｂ）の検証処理で出力されるログ情報のサンプルでは、検証対象のストアドプロシージャＡを構成するＳＱＬとストアドプロシージャＢを構成するＳＱＬとに相違がある場合を示している。ここでは、ＳＱＬが不一致ではあるが許容できる差異である場合の出力例であり、指定欄１６０３、１６０４に相違が見られる。ここでの相違は、改行コードの位置のみの相違であり、指定欄１６０４の「ＳＥＴ  ＡＮＳＩ ＮＵＬＬＳ  ＯＮ」の次の改行コード「ＧＯ」がなければ同一のＳＱＬとみなすことができる。
【００８０】
図１６（ｃ）の検証処理で出力されるログ情報のサンプルでは、ＳＱＬが不一致であり、明らかな差異がある場合の出力例を示している。ここでは、指定欄１６０６、１６０７の相違は改行コード「ＧＯ」の有無のみの相違であり、許容できる差異であるが、最下方の指定欄１６０８の改行コード「ＧＯ」はストアドプロシージャＢを構成するＳＱＬのみに記述されているもので、明らかな相違があるみなすことができる。
【００８１】
ところで、上述した実施例１に係るストアドプロシージャ検証システム１０５の技術的特徴は、各データベース管理サーバ１００、１０１に付設されるストアドプロシージャ用データベース１０２、１０３に格納されたストアドプロシージャをネットワーク１０４経由でサーバ（ストアドプロシージャ検証システム１０５）により取得して検証処理するストアドプロシージャ検証方法として換言することができる。
【００８２】
即ち、この場合の本発明のストアドプロシージャ検証方法は、サーバ（ストアドプロシージャ検証システム１０５）側において、ストアドプロシージャをＳＱＬ単位に分割するための分割キーを指定してストアドプロシージャをＳＱＬ単位に分割処理するステップと、分割処理により分割したＳＱＬの名称をＳＱＬ名付与規則によって指定するステップと、検証処理を分割したＳＱＬについて行うステップと、検証処理時に出力されるログ情報を編集規則テーブルの編集規則情報に基づいて編集した結果について再度検証処理を行うステップと、検証処理されたストアドプロシージャについて、ＳＱＬ単位で同一のＳＱＬであるか、許容できる差異のレベルにあるＳＱＬであるか、或いは明らかな差異のあるＳＱＬであるかをユーザが指定したディレクトリ下で自動的に分類して保持管理するステップと、を有するものとなる。但し、編集規則情報は、検証対象となるＳＱＬの整合性について、変更可能な許容できる差異のレベルであって、同一のＳＱＬであると判定する基準となる情報を含むものである。
【００８３】
また、同様に上記ストアドプロシージャ検証システム１０５の技術的特徴は、各データベース管理サーバ１００、１０１に付設されるストアドプロシージャ用データベース１０２、１０３に格納されたストアドプロシージャをネットワーク１０４経由でサーバ（ストアドプロシージャ検証システム１０５）により取得して検証処理するときにサーバ（ストアドプロシージャ検証システム１０５）で実行されるストアドプロシージャ検証用プログラムとして換言することもできる。この場合の本発明のストアドプロシージャ検証用プログラムは、図１に示す各処理部に対応する処理機能として、上述したストアドプロシージャ検証方法における各ステップの情報を保有するものである。また、ここで編集規則情報についての判定基準の情報を含む限定事項も同様である。
【００８４】
図１７は、ストアドプロシージャ検証システム１０５でストアドプロシージャ検証プログラムを実行するときのストアドプロシージャ検証システム機能を表示画面上で例示した図である。
【００８５】
このストアドプロシージャ検証システム機能は、検証対象であるストアドプロシジャＡを指定するための指定欄１７００と、検証対象であるストアドプロシジャＢを指定するための指定欄１７０２と、ストアドプロシージャＡの文字コードを判定してシステム上に表示するための指定欄１７０１と、ストアドプロシージャＢの文字コードを判定してシステム上に表示するための指定欄１７０３と、検証結果を出力するディレクトリを指定するための指定欄１７０４と、ストアドプロシージャＡ、ＢをＳＱＬに分割して出力するときの文字コードを指定するための指定欄１７０５とについて、表示画面上に設定して表示できるものである。
【００８６】
尚、上述した実施例１に係るストアドプロシージャ検証システム１０５では、説明を簡単にするために２系統のデータベース管理サーバ（ＳＱＬサーバ）１００、１０１に付設されたストアドプロシージャ用データベース１０２、１０３に格納された２種類のストアドプロシージャＡ、Ｂを検証処理の対象とした場合を説明したが、３系統以上のデータベース管理サーバ（ＳＱＬサーバ）に付設されたストアドプロシージャ用データベースに格納された３種類以上のストアドプロシージャを検証処理の対象として運用することも可能である。
【００８７】
何れにせよ、本発明のストアドプロシージャ検証システム１０５によれば、周知技術で各データベース管理サーバ（ＳＱＬサーバ）１００、１０１にストアドプロシージャＡ、Ｂをインストールする場合の検証処理として、各データベース管理サーバ１００、１０１よりストアドプロシージャＡ、Ｂを取得し、それぞれ比較検証する手法における問題点、即ち、ストアドプロシージャＡ、Ｂが多数のＳＱＬより構成され、またＳＱＬの格納位置がデータベース管理サーバ１００、１０１により異なり、しかも改行コードの挿入位置がまちまちであることにより、単純に比較検証することができないという問題（更に、それを解決するためにストアドプロシージャＡ、ＢをＳＱＬ毎に分割し、ＳＱＬ毎に比較検証する手法を導入するだけでは、周知の通常システムの場合にはストアドプロシージャＡ、Ｂが千以上から構成されることが多いために、人手で実施するには非効率的であるという問題が生じる）を解決し、ストアドプロシージャＡ、Ｂを自動的にＳＱＬに分割して出力し、比較検証処理を自動的に実行することができる。
【００８８】
また、本発明のシステムストアドプロシージャ検証システム１０５は、Ｗｉｎｄｏｗｓ（登録商標）のＥＸＣＥＬ・Ｖｂａにより構成することができるため、汎用性が高く、ストアドプロシージャＡ、Ｂのみに限らず、多数の分割単位から構成されるＷｉｎｄｏｗｓ上のファイルの比較検証についても分割キーの変更及び差異の許容範囲をシステム上で変更することによりて適用することが可能となる。
【符号の説明】
【００８９】
１００、１０１  データベース管理サーバ（ＳＱＬサーバ）
１０２、１０３  ストアドプロシージャ用データベース
１０４  ネットワーク
１０５  ストアドプロシージャ検証システム（サーバ）
１０６  ストアドプロシージャ読込処理部
１０７  ストアドプロシージャ読込用データベース
１０８  分割キー
１０９  ＳＱＬ名付与規則
１１０  分割処理部
１１１  ファイル出力処理部
１１２  ＳＱＬ出力コード
１１３、１１８、１１９  ストアドプロシージャ分割ライブラリ用データベース
１１４  検証処理部
１１５  編集規則テーブル用データベース
１１６  検証結果出力処理部
１１７  検証結果出力ライブラリ用データベース
１２０  検証結果ログ（一致）用データベース
１２１  検証結果ログ（不一致）用データベース
１２２  検証結果ログ（存在差異）用データベース
１２３  ユーザ指定ディレクトリ
【図１】
2012008784.tif 000003
【図２】
2012008784.tif 000004
【図３】
2012008784.tif 000005
【図４】
2012008784.tif 000006
【図５】
2012008784.tif 000007
【図６】
2012008784.tif 000008
【図７】
2012008784.tif 000009
【図８】
2012008784.tif 000010
【図９】
2012008784.tif 000011
【図１０】
2012008784.tif 000012
【図１１】
2012008784.tif 000013
【図１２】
2012008784.tif 000014
【図１３】
2012008784.tif 000015
【図１４】
2012008784.tif 000016
【図１５】
2012008784.tif 000017
【図１６】
2012008784.tif 000018
【図１７】
2012008784.tif 000019