(57)【要約】  計算機システムにおいて、アプリケーション３１１０が発行したデータベース非依存のプロトコル（ＤＢＭＳに接続するプロトコル）によるデータ処理要求の内容であるＳＱＬを、移行前の旧ＤＢ用のＳＱＬから新ＤＢＭＳ３２００用のＳＱＬに変換し、その後で新ＤＢＭＳ３２１０に依存するプロトコルに変換し、新ＤＢＭＳ３２１０に投入する。これらの動作を、ＤＢＭＳやアプリケーションに依存しないＤＢ接続ミドルウェアを拡張した拡張ＤＢ接続ミドルウェア３１２０で実現する。
2008056438.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、  第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバと、  前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、プロトコルをデータベース依存のプロトコルに変換して前記データベースサーバへ投入し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段と、を備える計算機システム。
【請求項２】
前記データベース接続手段は、  前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換する操作言語変換手段と、  第２のデータベース操作言語に変換されたデータベース処理要求のプロトコルをデータベース依存のプロトコルに変換し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換するプロトコル変換手段と、  データベース接続手段全体の制御を司る制御手段と、を備えることを特徴とする請求項１記載の計算機システム。
【請求項３】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、  第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、  第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、  第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段と、を備える計算機システム。
【請求項４】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、  第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、  第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、  第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段と、を備える計算機システム。
【請求項５】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする請求項３または４記載の計算機システム。
【請求項６】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする請求項３または４記載の計算機システム。
【請求項７】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバおよび新データベースサーバに対して行ったデータベース処理要求を取り消し、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラムに返却することを特徴とする請求項３または４記載の計算機システム。
【請求項８】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバに対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語を第２のデータベース操作言語に変換するための変換情報を変更した後、該変更後の変換情報を用いて元のデータベース処理要求を第２のデータベース操作言語に変換し、さらに新データベースサーバに適したデータベース依存のプロトコルに変換して新データベースサーバに投入し、得られた新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して旧データベースサーバのデータ処理結果と比較検証することを特徴とする請求項４記載の計算機システム。
【請求項９】
第１のモードの処理中に、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなくなる確率が低下したことを検出して、第２のモードへ切り替える切り替え手段を備えることを特徴とする請求項８記載の計算機システム。
【請求項１０】
前記データベース接続手段は、  前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換する仕様変換手段と、  データベース処理要求のプロトコルを新データベースサーバに適するデータベース依存のプロトコルに変換し、新データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する新プロトコル変換手段と、  データベース処理要求のプロトコルを旧データベースサーバに適するデータベース依存のプロトコルに変換し、旧データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する旧プロトコル変換手段と、  データベース非依存のプロトコルに変換された新データベースサーバおよび旧データベースサーバのデータ処理結果どうしを比較検証する検証手段と、  前記検証手段の比較検証結果を出力する出力手段と、  第１のモードと第２のモードのうち指定されたモードによる処理を制御する制御手段と、を備えることを特徴とする請求項３または４記載の計算機システム。
【請求項１１】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバと、を備えた計算機システムにおけるデータベースアクセス方法であって、  データベース接続手段が、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、プロトコルをデータベース依存のプロトコルに変換して前記データベースサーバへ投入し、  前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とするデータベースアクセス方法。
【請求項１２】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、を備えた計算機システムにおけるデータベースアクセス方法であって、  データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、  該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、  第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とするデータベースアクセス方法。
【請求項１３】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、を備えた計算機システムにおけるデータベースアクセス方法であって、  データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、  一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、  他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、  該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、  第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とするデータベースアクセス方法。
【請求項１４】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、  前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバに適するプロトコルに変換して前記データベースサーバへ投入し、  前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えるアプリケーションサーバ。
【請求項１５】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、  第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、  一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、  他方のデータベース処理要求を、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、  該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、  第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えるアプリケーションサーバ。
【請求項１６】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、  第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、  一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、  他方のデータベース処理要求を、第２のデータベース操作言語に変換した後、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、  第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えるアプリケーションサーバ。
【請求項１７】
コンピュータに、  第１のデータベース操作言語に準拠し且つデータベース非依存のプロトコルに従ってアプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、プロトコルをデータベース依存のプロトコルに変換して、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバへ投入する第１の処理と、  前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却する第２の処理と、を行わせるためのプログラム。
【請求項１８】
コンピュータに、  第１のモードが指定されている場合、第１のデータベース操作言語に準拠し且つデータベース非依存のプロトコルに従ってアプリケーションプログラムから発行されたデータベース処理要求を多重化する第１の処理と、  一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入する第２の処理と、  他方のデータベース処理要求を、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第３の処理と、  旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力する第４の処理と、  データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却する第５の処理と、を行わせ、  第２のモードが指定されている場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第６の処理と、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却する第７の処理と、を行わせるためのプログラム。
【請求項１９】
コンピュータに、  第１のモードが指定されている場合、第１のデータベース操作言語に準拠し且つデータベース非依存のプロトコルに従ってアプリケーションプログラムから発行されたデータベース処理要求を多重化する第１の処理と、  一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入する第２の処理と、  他方のデータベース処理要求を、第２のデータベース操作言語に変換した後、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第３の処理と、  旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力する第４の処理と、  データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却する第５の処理と、を行わせ、  第２のモードが指定されている場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第６の処理と、  前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却する第７の処理と、を行わせるためのプログラム。
【請求項２０】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバへの以降のデータベース処理要求の投入を停止する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２１】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバへの以降のデータベース処理要求の投入を停止する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２２】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバおよび新データベースサーバに対して行ったデータベース処理要求を取り消し、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラムに返却する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２３】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバに対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語を第２のデータベース操作言語に変換するための変換情報を変更した後、該変更後の変換情報を用いて元のデータベース処理要求を第２のデータベース操作言語に変換し、さらに新データベースサーバに適したデータベース依存のプロトコルに変換して新データベースサーバに投入し、得られた新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して旧データベースサーバのデータ処理結果と比較検証する処理を行わせることを特徴とする請求項１９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、データベースマネジメントシステム（ＤＢＭＳ）と連携して情報処理を行うアプリケーションが動作する計算機システムにおいて、用いられてきた旧ＤＢＭＳを異なる新ＤＢＭＳに移行する技術に関する。
【背景技術】
【０００２】  ＤＢＭＳと連携して情報処理を行うアプリケーションが動作する計算機システムにおいては、システムの性能向上等を目的として、ＤＢＭＳを旧ＤＢＭＳから新ＤＢＭＳに切り替えることがある。以下、この種の切り替え方法について図面を参照して説明する。【０００３】  図２２の左側に示される旧システム１１００は、旧ＤＢＭＳ１１２１を使用する計算機システムの構成例を示し、旧アプリケーションサーバ１１１０と、旧データベースサーバ１１２０とから構成されている。【０００４】  旧アプリケーションサーバ１１１０は、情報処理を行うアプリケーション１１１１と、アプリケーション１１１１とＤＢＭＳ１１２１を接続するＤＢ接続ミドルウェア１１１２とを備える。【０００５】  ＤＢ接続ミドルウェア１１１２は、データベースに依存しないプロトコル（以下、データベース非依存プロトコルあるいは標準プロトコルとも称す）のインタフェースであるインタフェース１１１３と、標準プロトコルを旧ＤＢＭＳ１１２１固有のプロトコル（以下、データベース依存プロトコルとも称す）に変換する旧ＤＢ用プロトコル変換手段１１１４とを備える。【０００６】  旧データベースサーバ１１２０は、アプリケーション１１１１が処理を行う際に必要な旧形式データ１１２２を蓄積するストレージと、旧形式データ１１２２を管理する旧ＤＢＭＳ１１２１とを備える。【０００７】  このような構成を有する計算機システムは、次のように動作する。【０００８】  アプリケーション１１１１は、必要に応じてＤＢ接続ミドルウェア１１１２を介して旧ＤＢＭＳ１１２１に接続し、データ処理要求を発行する。【０００９】  旧ＤＢＭＳ１１２１はデータ処理要求に従い、管理している旧形式データ１１２２を用いてデータ処理を行い、その結果であるデータ処理結果を、やはりＤＢ接続ミドルウェア１１１２を介してアプリケーション１１１１に返す。【００１０】  アプリケーション１１１１は、旧ＤＢＭＳ１１２１のデータ処理結果を用いて、情報処理を行う。【００１１】  上述のような旧システム１１００において、これまで用いられてきた旧ＤＢＭＳ１１２１を、それとデータの管理形式およびプロトコルが異なる新ＤＢＭＳ１２２１に取替え、新システム１２００に移行する場合を考える。【００１２】  新システム１２００は、新ＤＢＭＳ１２２１を使用する計算機システムの構成例を示し、新アプリケーションサーバ１２１０と、新データベースサーバ１２２０とから構成されている。【００１３】  新アプリケーションサーバ１２１０は、情報処理を行うアプリケーション１２１１と、アプリケーション１２１１と新ＤＢＭＳ１２２１を接続するＤＢ接続ミドルウェア１２１２とを備える。【００１４】  ＤＢ接続ミドルウェア１２１２は、データベースに依存しないプロトコル（以下、データベース非依存プロトコルあるいは標準プロトコルとも称す）のインタフェースであるインタフェース１２１３と、標準プロトコルを新ＤＢＭＳ１２２１固有のプロトコル（以下、データベース依存プロトコルとも称す）に変換する新ＤＢ用プロトコル変換手段１２１４とを備える。【００１５】  新データベースサーバ１２２０は、アプリケーション１２１１が処理を行う際に必要な新形��データ１２２２を蓄積するストレージと、新形式データ１２２２を管理する新ＤＢＭＳ１２２１とを備える。【００１６】  まず、旧ＤＢＭＳ１１２１と新ＤＢＭＳ１２２１とでは、データの管理形式が異なるため、旧形式データ１１２２は、新ＤＢＭＳ１２２１では管理できない。そのため、旧形式データ１１２２を、新ＤＢＭＳ１２２１が管理できる形式である新形式データ１２２２に変換する必要がある。これは、データベースベンダが提供するデータ移行ツール等を用いて、行うことができる。【００１７】  また、ＤＢＭＳに接続するプロトコルが旧ＤＢＭＳ１１２１と新ＤＢＭＳ１２２１とで異なるため、旧ＤＢＭＳ１１２１と接続しているアプリケーション１１１１は、そのままでは新ＤＢＭＳ１２２１に接続できない。この問題は、ＤＢ接続ミドルウェア１２１２を用いることで、解消できる。ＤＢ接続ミドルウェアは、ＤＢＭＳ固有の接続手法を仮想化することでプロトコルの差異を隠蔽し、アプリケーションに対し、標準的なプロトコルによるＤＢＭＳへの接続を可能にするミドルウェアである。具体的には、アプリケーションに標準的なインタフェースを提供し、アプリケーションが標準インタフェースを介して発行したデータ処理要求を、ＤＢＭＳの固有のプロトコルに変換し、ＤＢＭＳに発行する。ＤＢＭＳ固有のプロトコルに変換する機能を、ライブラリとして入れ替えることで、様々な種類のＤＢＭＳに対応できる。【００１８】  ＤＢ接続ミドルウェアとしては、ＯＤＢＣ（Open DataBase Connectivity）、ＪＤＢＣ（Ｊａｖａ（登録商標） DataBase Connectivity）等が知られている。【００１９】  近年では、アプリケーションをＤＢＭＳに直接接続するのではなく、ＤＢ接続ミドルウェアを介して接続することが一般的なため、アプリケーション１１１１は旧ＤＢ用プロトコル変換手段１１１４を新ＤＢ用プロトコル変換手段１２１４に入れ替えるだけで、新ＤＢＭＳに接続することが可能となる。【００２０】  しかし、プロトコル的に新ＤＢＭＳ１２２１に接続することはできても、アプリケーション１１１１が発行したデータ処理要求の内容、すなわちデータ操作を定義するＳＱＬ（Structured Query Language）等が旧ＤＢＭＳ１１２１固有のものである場合、新ＤＢＭＳ１２２１では、そのＳＱＬを解釈できないため、要求を処理することができない。【００２１】  ＳＱＬはＩＳＯ  ＳＱＬ９２等、基本的な部分では標準仕様が規定されているため、論理的にはプロトコルの変換を行い、ＤＢＭＳに接続できれば問題なくデータ処理ができる。しかし実際には、ＳＱＬはＤＢＭＳ毎の独自の仕様拡張が数多くなされ、実業務においては、その独自仕様を用いたＤＢＭＳ固有のＳＱＬが使われることが多い。そのため、データベース移行を行う場合は、アプリケーションが発行する旧ＤＢＭＳ用のＳＱＬも、新ＤＢＭＳ用に変換しなくてはならない。【００２２】  ＳＱＬを変換する技術として、例えば特許文献１等に記載された技術が知られている。アプリケーションが発行するＳＱＬは、一般にアプリケーションのソースコード内にハードコーディングされている。そこで、特許文献１に記載された技術では、ソースコードを精査し、旧ＤＢＭＳ用のＳＱＬを生成する部分を、新ＤＢＭＳ用のＳＱＬを生成するように書き換える。【００２３】  また、ＳＱＬを変換する他の技術として、特許文献２等に記載された技術が知られている。特許文献２に記載された技術では、アプリケーションを作成する際に、ＳＱＬを生成するＳＱＬ部を、他の機能を実現しているソースコードから分離して作成する。ＳＱＬ部が分離されているため、ソースコード内からＳＱＬ部を探す手間をかけることなく、容易に新ＤＢＭＳ用のＳＱＬを生成するように設定することが可能である。【００２４】  また、ＳＱＬを変換する別の技術として、特許文献３等に記載された技術が知られている。図２３を参照すると、特許文献３に記載された技術では、アプリケーションサーバ群２１００−１，２１００−２，…，２１００−ｎと、新形式データ２３２０を蓄積するストレージおよび新形式データ２３２０を管理する新ＤＢＭＳ２３１０を備える新データベースサーバ２３００の間に中継装置２２００を設け、この中継装置２２００で、アプリケーション２１１０が発行した旧ＤＢＭＳ用のＳＱＬを、新ＤＢＭＳ用のＳＱＬに変換する。この技術は、アプリケーション自体を変更することなく、ＳＱＬ変換を行うことが可能である。【００２５】
【特許文献１】特開２０００−１８１６９７号公報
【特許文献２】特開２０００−３４７９１０号公報
【特許文献３】特開２０００−２５９４６６号公報
【発明の開示】
【００２６】  しかしながら、上記特許文献記載のＳＱＬ変換技術には、それぞれ以下のような問題があった。
【００２７】  特許文献１に記載された技術は、ＳＱＬを生成している部分を特定し、アプリケーションの他のロジックに影響を与えることなく、新しいＳＱＬを生成するようにソースコードを書き換えることが非常に困難である。なぜなら、複雑で膨大な量のソースコードを正確に解析する必要があるからである。また、実行可能なバイナリコードのみが存在し、ソースコードが残っていないアプリケーションには適用できない。
【００２８】  特許文献２記載の技術は、この技術に従ってアプリケーションが開発されていれば問題ないが、そうでない多くの既存アプリケーションには適用できない。
【００２９】  特許文献３記載の技術は、アプリケーションからＤＢＭＳへのアクセスを中継装置でフックしているが、このアクセスのプロトコルはＤＢＭＳ固有のプロプライエタリ（proprietary）なプロトコルである。したがって、アクセスをフック、再送するためにＤＢＭＳ固有のプロトコルを解析する必要があるが、このプロトコルは一般的に非公開であるため、解析は非常に困難である。また、解析できても、ＤＢＭＳ固有のプロトコルであるため、ＤＢＭＳ毎に、アドホックな開発が必要となる。
【００３０】  また、ＤＢＭＳを切り替える際に変更すべきＳＱＬは一般に旧ＳＱＬの一部になることが多いが、上述のＳＱＬ変換技術では、その変換の前提作業となる新ＳＱＬに変換すべき旧ＳＱＬの洗い出し作業に要する利用者の負担が大きかった。なぜなら、利用者自身が旧ＳＱＬと新ＳＱＬの違いを理解し、旧ＳＱＬの全てについて新ＳＱＬへの変換の必要性を判断する必要があるからである。
【００３１】  さらに、上述のＳＱＬ変換技術には、共通して、変換したＳＱＬが正しく動作しているか検証できないという問題があった。なぜなら、たとえ変換したＳＱＬを投入した新ＤＢＭＳが明示的なエラーを起こさず、正常な応答があったとしても、それが旧ＤＢＭＳと同じ応答であるかどうかを、実運用環境において知ることができないからである。
【００３２】  またさらに、変換したＳＱＬの動作を実運用環境において検証することが困難であるため、旧ＤＢＭＳ用ＳＱＬをどのように新ＤＢＭＳ用ＳＱＬに変換するかを定義した変換情報（変換ルール）をその検証と連動して修正できず、変換情報を効率良く修正するのが困難であった。
【００３３】（発明の目的）  本発明の第一の目的は、ＤＢＭＳと連携して情報処理を行うアプリケーションが動作する計算機システムにおいて、用いられてきた旧ＤＢＭＳを異なる新ＤＢＭＳに移行する際に、アプリケーションを変更することなく透過的に、かつ、新旧両方のＤＢＭＳの種類によらず汎用的に、ＤＢＭＳを移行しても計算機システムを継続して動作させることを可能とすることにある。
【００３４】  本発明の第二の目的は、新ＳＱＬに変換すべき旧ＳＱＬの洗い出し作業に要する利用者の負担を軽減することを可能とすることにある。
【００３５】  本発明の第三の目的は、変換したＳＱＬが正しく動作しているかどうかを実運用環境において検証することを可能とすることにある。
【００３６】  本発明の第四の目的は、ＳＱＬを変換する変換情報をその実運用環境における検証時に連動して修正することを可能とすることにある。
【００３７】  本発明の第１の計算機システムは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバと、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、プロトコルをデータベース依存のプロトコルに変換して前記データベースサーバへ投入し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段とを備えることを特徴とする。
【００３８】  本発明の第２の計算機システムは、第１の計算機システムにおいて、前記データベース接続手段は、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換する操作言語変換手段と、第２のデータベース操作言語に変換されたデータベース処理要求のプロトコルをデータベース依存のプロトコルに変換し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換するプロトコル変換手段と、データベース接続手段全体の制御を司る制御手段とを備えることを特徴とする。
【００３９】  本発明の第３の計算機システムは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段とを備えることを特徴とする。
【００４０】  本発明の第４の計算機システムは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段とを備えることを特徴とする。
【００４１】  本発明の第５の計算機システムは、第３または第４の計算機システムにおいて、前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする。
【００４２】  本発明の第６の計算機システムは、第３または第４の計算機システムにおいて、前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする。
【００４３】  本発明の第７の計算機システムは、第３または第４の計算機システムにおいて、前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバおよび新データベースサーバに対して行ったデータベース処理要求を取り消し、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラムに返却することを特徴とする。
【００４４】  本発明の第８の計算機システムは、第４の計算機システムにおいて、前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバに対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語を第２のデータベース操作言語に変換するための変換情報を変更した後、該変更後の変換情報を用いて元のデータベース処理要求を第２のデータベース操作言語に変換し、さらに新データベースサーバに適したデータベース依存のプロトコルに変換して新データベースサーバに投入し、得られた新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して旧データベースサーバのデータ処理結果と比較検証することを特徴とする。
【００４５】  本発明の第９の計算機システムは、第８の計算機システムにおいて、第１のモードの処理中に、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなくなる確率が低下したことを検出して、第２のモードへ切り替える切り替え手段を備えることを特徴とする。
【００４６】  本発明の第１０の計算機システムは、第３または第４の計算機システムにおいて、前記データベース接続手段は、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換する仕様変換手段と、データベース処理要求のプロトコルを新データベースサーバに適するデータベース依存のプロトコルに変換し、新データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する新プロトコル変換手段と、データベース処理要求のプロトコルを旧データベースサーバに適するデータベース依存のプロトコルに変換し、旧データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する旧プロトコル変換手段と、データベース非依存のプロトコルに変換された新データベースサーバおよび旧データベースサーバのデータ処理結果どうしを比較検証する検証手段と、前記検証手段の比較検証結果を出力する出力手段と、第１のモードと第２のモードのうち指定されたモードによる処理を制御する制御手段とを備えることを特徴とする。
【００４７】  本発明の第１のデータベースアクセス方法は、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバとを備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続手段が、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、プロトコルをデータベース依存のプロトコルに変換して前記データベースサーバへ投入し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とする。
【００４８】  本発明の第２のデータベースアクセス方法は、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバとを備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とする。
【００４９】  本発明の第３のデータベースアクセス方法は、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバとを備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とする。
【００５０】  本発明の第１のアプリケーションサーバは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換した後に、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付けるデータベースサーバに適するプロトコルに変換して前記データベースサーバへ投入し、前記データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えることを特徴とする。
【００５１】  本発明の第２のアプリケーションサーバは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えることを特徴とする。
【００５２】  本発明の第３のアプリケーションサーバは、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を、第２のデータベース操作言語に変換した後、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えることを特徴とする。
【図面の簡単な説明】
【００５３】  上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００５４】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示す流れ図である。
【図３】本発明の第２の実施の形態の構成を示すブロック図である。
【図４】本発明の第２の実施の形態の準備モードの動作を示す流れ図である。
【図５】本発明の第２の実施の形態の準備モードの動作を示す流れ図である。
【図６】本発明の第２の実施の形態の検証モードの動作を示す流れ図である。
【図７】本発明の第２の実施の形態の検証モードの動作を示す流れ図である。
【図８】本発明の第２の実施の形態の移行モードの動作を示す流れ図である。
【図９】本発明の第３の実施の形態の構成を示すブロック図である。
【図１０】本発明の第３の実施の形態の準備モードの動作を示す流れ図である。
【図１１】本発明の第３の実施の形態の準備モードの動作を示す流れ図である。
【図１２】本発明の第３の実施の形態の準備モードの動作を示す流れ図である。
【図１３】本発明の第３の実施の形態の検証モードの動作を示す流れ図である。
【図１４】本発明の第３の実施の形態の検証モードの動作を示す流れ図である。
【図１５】本発明の第３の実施の形態の検証モードの動作を示す流れ図である。
【図１６】本発明の第４の実施の形態の構成を示すブロック図である。
【図１７】本発明の第４の実施の形態の検証モードの動作を示す流れ図である。
【図１８】本発明の第４の実施の形態の検証モードの動作を示す流れ図である。
【図１９】本発明の第４の実施の形態の検証モードの動作を示す流れ図である。
【図２０】切り替え手段の実施例を示すブロック図である。
【図２１】本発明の他の実施の形態の構成を示すブロック図である。
【図２２】ＤＢＭＳと連携して情報処理を行うアプリケーションが動作する計算機システムの構成を示すブロック図である。
【図２３】ＳＱＬを変換するシステムの構成を示すブロック図である。
【発明を実施するための最良の形態】
【００５５】（第１の実施の形態）  次に本発明の第１の実施の形態について図面を参照して詳細に説明する。【００５６】［構成の説明］  図１は、本発明の実施の形態に係る計算機システムの構成を示すブロック図である。  本発明の実施の形態に係る計算機システムは、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム３１１０が稼動する１以上のアプリケーションサーバ３１００−１、３１００−２、３１００−ｎと、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢプロトコル）に従って受け付けるデータベースサーバ（新データベースサーバ３２００）と、アプリケーションプログラム３１１０から発行されたデータベース処理要求のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（旧ＤＢ用ＳＱＬ）に変換した後に、プロトコル（標準プロトコル）をデータベース依存のプロトコル（新ＤＢプロトコル）に変換してデータベースサーバ（新データベースサーバ３２００）へ投入し、データベースサーバ（新データベースサーバ３２００）のデータ処理結果のプロトコル（新ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム３１１０に返却するデータベース接続部（拡張ＤＢ接続ミドルウェア３１２０）と、を備える。【００５７】  また、上記データベース接続部（拡張ＤＢ接続ミドルウェア３１２０）は、アプリケーションプログラム３１１０から発行されたデータベース処理要求のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換する操作言語変換部（ＳＱＬ変換部３１２４）と、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換されたデータベース処理要求のプロトコル（標準プロトコル）をデータベース依存のプロトコル（新ＤＢプロトコル）に変換し、データベースサーバ（新データベースサーバ３２００）のデータ処理結果のプロトコル（新ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換するプロトコル変換部（新ＤＢ用プロトコル変換部３１２３）と、データベース接続部（拡張ＤＢ接続ミドルウェア３１２０）全体の制御を司る制御部３１２２と、を備える。【００５８】  図１を参照すると、本発明の第１の実施の形態にかかる計算機システムは、複数のアプリケーションサーバ３１００−１，３１００−２，…，３１００−ｎと、新データベースサーバ３２００とから構成される。【００５９】  各アプリケーションサーバ３１００−１，３１００−２，…，３１００−ｎは、情報処理を行うアプリケーション３１１０と、アプリケーション３１１０と後述する新ＤＢＭＳ３２１０を接続する拡張ＤＢ接続ミドルウェア３１２０とを備える。【００６０】  拡張ＤＢ接続ミドルウェア３１２０は、標準プロトコルのインタフェースであるインタフェース３１２１と、データ処理要求の流れを制御する制御部３１２２と、標準プロトコルを新ＤＢＭＳ３２１０固有のプロトコルに変換する新ＤＢ用プロトコル変���部３１２３と、データ処理要求の内容であるＳＱＬを変換するＳＱＬ変換部３１２４と、どのようにＳＱＬ変換を行うかを定義した変換ルールである変換情報を記憶する変換情報記憶部３１２５（以後、「変換情報３１２５」と示す）とを備える。【００６１】  新データベースサーバ３２００は、アプリケーション３１１０が処理を行う際に必要なデータを、新ＤＢＭＳ３２１０が扱える形に変換した新形式データ３２２０を蓄積するストレージと、新形式データ３２２０を管理する移行した新ＤＢＭＳ３２１０とを備える。【００６２】［動作の説明］  次に図１および図２のフローチャートを参照して、本実施の形態の計算機システムの動作について詳細に説明する。  本発明の実施の形態に係るデータベースアクセス方法は、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム３１１０が稼動する１以上のアプリケーションサーバ３１００−１、３１００−２、３１００−ｎと、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢプロトコル）に従って受け付けるデータベースサーバ（新データベースサーバ３２００）と、を備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続部（拡張ＤＢ接続ミドルウェア３１２０）が、アプリケーションプログラム３１１０から発行されたデータベース処理要求のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後に（ステップＳ４００４）、プロトコル（標準プロトコル）をデータベース依存のプロトコル（新ＤＢプロトコル）に変換してデータベースサーバ（新データベースサーバ３２００）へ投入し（ステップＳ４００６）、データベースサーバ（新データベースサーバ３２００）のデータ処理結果のプロトコル（新ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム３１１０に返却する（ステップＳ４００８）。【００６３】  アプリケーションサーバ３１００−１，３１００−２，…，３１００−ｎにおいて、アプリケーション３１１０がＤＢＭＳにデータ処理を依頼する場合、データ処理要求として、移行前の旧ＤＢＭＳ用のＳＱＬを、標準プロトコルでもって、ＤＢ接続ミドルウェア３１２０を介して発行しようとする（ステップＳ４００１）。【００６４】  拡張ＤＢ接続ミドルウェア３１２０において、インタフェース３１２１がデータ処理要求を受け取り、制御部３１２２に転送する（ステップＳ４００２）。【００６５】  一般に、ＤＢ接続ミドルウェアは、各アプリケーションサーバ３１００−１，３１００−２，…，３１００−ｎ内に配置され、アプリケーション３１１０は、通常のＤＢ接続ミドルウェアの備える標準プロトコルのインタフェースに対してデータ処理要求を発行する。【００６６】  拡張ＤＢ接続ミドルウェア３１２０は、通常のＤＢ接続ミドルウェアのインタフェースと同様のインタフェース３１２１を備えるため、アプリケーション３１１０からは、拡張ＤＢ接続ミドルウェア３��２０が、通常のＤＢ接続ミドルウェアと同様に認識される。【００６７】  そのため、インタフェース３１２１以下の拡張ＤＢ接続ミドルウェア３１２０内部の動作は、アプリケーション３１１０からは意識されず、透過的である。すなわち、拡張ＤＢ接続ミドルウェア３１２０を導入するために、アプリケーションを変更する必要はない。【００６８】  また、様々な種類のＤＢＭＳに対応するためにライブラリとして入れ替えることを前提としているため、導入も容易である。すなわち、本来は旧ＤＢ用プロトコル変換部を新ＤＢ用プロトコル変換部３１２３に入れ替える代わりに、制御部３１２２等の拡張ＤＢ接続ミドルウェアの機能を実現する構成要素（新ＤＢ用プロトコル変換部も含む）に入れ替える。勿論、入れ替えるのではなく、拡張ＤＢ接続ミドルウェア自体を新規に作っても良い。【００６９】  データ処理要求を受け取った制御部３１２２は、それをＳＱＬ変換部３１２４に転送する（ステップＳ４００３）。【００７０】  データ処理要求を受け取ったＳＱＬ変換部３１２４は、データ処理要求の内容であるＳＱＬを調べ、変換情報３１２５に基づき、必要であれば、ＳＱＬ変換を行う（ステップＳ４００４）。なお、この時点では、データ処理要求は、仕様が公開されていないＤＢＭＳ固有のプロトコルではなく、仕様の公開された標準プロトコルのため、データ処理要求の内容を調べたり、変換することは容易である。【００７１】  ＳＱＬ変換部３１２４が行う変換の具体例を挙げると、例えば、アプリケーションが発行した旧ＤＢＭＳ用データ処理要求の内容であるＳＱＬが、標準ＳＱＬにない独自の拡張関数ＤＥＣＯＤＥを用いて、SELECT DECODE(key, val1, res1, res2) label FROM table1と記述されていて、移行した新ＤＢＭＳではこの拡張関数ＤＥＣＯＤＥを解釈できない場合、ＳＱＬ変換部３１２４は、変換情報３１２５の「拡張関数ＤＥＣＯＤＥがあれば、新ＤＢＭＳでも解釈できる標準関数ＣＡＳＥに変換する」というルールに基づき、SELECT CASE WHEN key = val1 THEN res1 ELSE res2 END label FROM table2と変換する、等が考えられる。【００７２】  ＳＱＬ変換後、ＳＱＬ変換部３１２４は、変換したデータ処理要求を制御部３１２２に返す。【００７３】  変換されたデータ処理要求を受け取った制御部３１２２は、それを新ＤＢ用プロトコル変換部３１２３に転送する（ステップＳ４００５）。【００７４】  データ処理要求を受け取った新ＤＢ用プロトコル変換部３１２３は、標準プロトコルのデータ処理要求を、新ＤＢＭＳ３２１０固有のプロトコルに変換して、新ＤＢＭＳ３２１０に発行する（ステップＳ４００６）。【００７５】  新データベースサーバ３２００において、固有プロトコルのデータ処理要求を受け取った新ＤＢＭＳ３２１０は、データ処理要求のＳＱＬを解釈し、その要求に従い、管理している新形式データ３２２０を用いてデータ処理を行い、その結果であるデータ処理結果を、やはり固有プロトコルでもって、新ＤＢ用プロトコル変換部３１２３に返す（ステップＳ４００７）。【００７６】  固有プロトコルのデータ処理結果を受け取った新ＤＢ用プロトコル変換部３１２３は、データ処理結果を標準プロトコルに変換し、制御部３１２２に転送する（ステップＳ４００８）。【００７７】  標準プロトコルのデータ処理結果を受け取った制御部３１２２は、それをインタフェース３１２１に転送する（ステップＳ４００９）。【００７８】  データ処理結果を受け取ったインタフェース３１２１は、それをアプリケーション３１１０に返す（ステップＳ４０１０）。【００７９】  アプリケーション３１１０は、旧ＤＢＭＳに対してデータ処理要求を発行した場合と同様のデータ処理結果を受け取り、従来通り情報処理を行う（ステップＳ４０１１）。【００８０】  このように動作することで、新ＤＢＭＳに移行した計算機システムにおいても、アプリケーションを変更することなく透過的に、かつ、新旧両方のＤＢＭＳの種類によらず汎用的に、計算機システムを継続して動作させる。【００８１】［効果の説明］  次に本実施の形態の効果について説明する。【００８２】  本実施の形態では、ＤＢ接続ミドルウェアにおいて、アプリケーションが発行したデータ処理要求の内容であるＳＱＬを、旧ＤＢＭＳ用のＳＱＬから新ＤＢＭＳ用のＳＱＬに変換し、移行後の新ＤＢＭＳでも解釈できるようにすることで、新ＤＢＭＳに移行しても、アプリケーションを変更することなく透過的に、計算機システムを継続して動作させることができる。【００８３】  また、データ処理要求が標準プロトコルの段階でＳＱＬ変換を行い、その後、ＳＱＬを変換したデータ処理要求を、ＤＢＭＳに応じたプロトコル変換部を用いてＤＢＭＳ固有のプロトコルに変換してＤＢＭＳに発行するため、ＤＢＭＳの種類によらず、同じ機構を用いて汎用的に、適用できる。【００８４】  また、ＳＱＬ変換を行う機構が、各アプリケーションサーバ毎に分散しているため、ボトルネックが存在せずスケーラビリティに優れ、また単一故障点も存在しないため、耐障害にも優れる。【００８５】  以上説明したように、本実施形態の計算機システムでは、旧データベースサーバから新データベースサーバへ移行した状態においては、アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を、データベース非依存のプロトコルの段階で新データベースサーバに適するデータベース操作言語に変換し、その後にプロトコルをデータベース非依存のプロトコルから新データベース依存のプロトコルに変換して新データベースサーバへ投入することを基本とする。【００８６】  本実施形態の計算機システムによれば、ＤＢＭＳと連携して情報処理を行うアプリケーションが動作する計算機システムにおいて、用いられてきた旧ＤＢＭＳを異なる新ＤＢＭＳに移行する際に、アプリケーションを変更することなく透過的に、かつ、新旧両方のＤＢＭＳの種類によらず汎用的に、ＤＢＭＳを移行し、情報システムを継続して動作させることが可能になる。そのため、既存のシステムに対し容易に適用することができる。【００８７】  その理由は、データベース接続部において、アプリケーションが発行したデータ処理要求の内容であるデータベース操作言語（ＳＱＬ等）を、旧ＤＢＭＳ用から新ＤＢＭＳ用に変換し、また、その変換を、データ処理要求がデータベース非依存のプロトコルの段階で行い、その後、データベース操作言語を変換したデータ処理要求を、ＤＢＭＳに応じたプロトコル変換部を用いてＤＢＭ��固有のプロトコルに変換してＤＢＭＳに発行するためである。【００８８】（第２の実施の形態）  次に本発明の第２の実施の形態について図面を参照して詳細に説明する。【００８９】［構成の説明］  図３は、本発明の実施の形態に係る計算機システムの構成を示すブロック図である。  本発明の実施の形態に係る計算機システムは、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム５１１０が稼動する１以上のアプリケーションサーバ５１００−１、５１００−２、５１００−ｎと、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（旧ＤＢプロトコル）に従って受け付ける旧データベースサーバ５２００と、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢプロトコル）に従って受け付ける新データベースサーバ５３００と、第１のモード（準備モード）が指定された場合、アプリケーションプログラム５１１０から発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を旧データベースサーバ５２００に適するデータベース依存のプロトコル（旧ＤＢプロトコル）に変換して旧データベースサーバ５２００に投入し、他方のデータベース処理要求を新データベースサーバ５３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ５３００に投入し、旧データベースサーバ５２００および新データベースサーバ５３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換して比較検証し、比較検証結果を出力するとともに、データベース非依存のプロトコル（標準プロトコル）に変換された旧データベースサーバ５２００のデータ処理結果をアプリケーションプログラム５１１０に返却し、第２のモード（検証モード）が指定された場合、アプリケーションプログラム５１１０から発行されたデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後、新データベースサーバ５３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ５３００に投入し、新データベースサーバ５３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム５１１０に返却するデータベース接続部（拡張ＤＢ接続ミドルウェア５１２０）と、を備える。【００９０】  図３を参照すると、本発明の第２の実施の形態は、複数のアプリケーションサーバ５１００−１，５１００−２，…，５１００−ｎと、旧データベースサーバ５２００と、新データベースサーバ５３００と、各アプリケーションサーバ５１００−１，５１００−２，…，５１００−ｎの拡張ＤＢ接続ミドルウェア５１２０（後述）を制御する切り替え部５４００とから構成される。【００９１】  各アプリケーションサーバ５１００−１，５１００−２，…，５１００−ｎは、情報処理を行うアプリケーション５１１０と、アプリケーション５１１０と旧ＤＢＭＳ５２１���（後述）および新ＤＢＭＳ５３１０（後述）を接続する拡張ＤＢ接続ミドルウェア５１２０とを備える。【００９２】  データベース接続部（拡張ＤＢ接続ミドルウェア５１２０）は、アプリケーションプログラム５１１０から発行されたデータベース処理要求のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換する仕様変換部（ＳＱＬ変換部５１２４）と、データベース処理要求のプロトコル（標準プロトコル）を新データベースサーバ５３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換し、新データベースサーバ５３００のデータ処理結果のプロトコル（新ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換する新プロトコル変換部（新ＤＢ用プロトコル変換部５１２６）と、データベース処理要求のプロトコル（標準プロトコル）を旧データベースサーバ５２００に適するデータベース依存のプロトコル（旧ＤＢプロトコル）に変換し、旧データベースサーバ５２００のデータ処理結果のプロトコル（旧ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換する旧プロトコル変換部（旧ＤＢ用プロトコル変換部５１２３）と、データベース非依存のプロトコル（標準プロトコル）に変換された新データベースサーバ５３００および旧データベースサーバ５２００のデータ処理結果どうしを比較検証する検証部５１２７と、検証部５１２７の比較検証結果を出力する出力部（通知部５１２８）と、第１のモード（準備モード）と第２のモード（検証モード）のうち指定されたモードによる処理を制御する制御部（制御部５１２２）と、を備える。【００９３】  具体的には、拡張ＤＢ接続ミドルウェア５１２０は、標準プロトコルのインタフェースであるインタフェース５１２１と、データ処理要求の流れを制御する制御部５１２２と、標準プロトコルを旧ＤＢＭＳ５２１０固有のプロトコルに変換する旧ＤＢ用プロトコル変換部５１２３と、標準プロトコルを新ＤＢＭＳ５３１０固有のプロトコルに変換する新ＤＢ用プロトコル変換部５１２６と、データ処理要求の内容であるＳＱＬを変換するＳＱＬ変換部５１２４と、どのようにＳＱＬ変換を行うかを定義した変換ルールである変換情報を記憶する変換情報記憶部５１２５（以後、「変換情報５１２５」と示す）と、データ処理結果を比較検証する検証部５１２７と、検証結果を通知する通知部５１２８とを備える。【００９４】  旧データベースサーバ５２００は、アプリケーション５１１０が処理を行う際に必要なデータである旧形式データ５２２０を蓄積するストレージと、旧形式データ５２２０を管理する移行前の旧ＤＢＭＳ５２１０とを備える。【００９５】  新データベースサーバ５３００は、旧形式データ５２２０を新ＤＢＭＳ５３１０が扱える形に変換した新形式データ５３２０を蓄積するストレージと、新形式データ５３２０を管理する移行した新ＤＢＭＳ５３１０とを備える。【００９６】［動作の説明］  次に図３および図４〜図８のフローチャートを参照して、本実施の形態の計算機システムの動作について詳細に説明する。  本発明の実施の形態に係るデータベースアクセス方法は、第１のデータベース操作言語（���ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム５１１０が稼動する１以上のアプリケーションサーバ５１００−１、５１００−２、５１００−ｎと、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（旧ＤＢプロトコル）に従って受け付ける旧データベースサーバ５２００と、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢプロトコル）に従って受け付ける新データベースサーバ５３００と、を備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続部（拡張ＤＢ接続ミドルウェア５１２０）が、第１のモード（準備モード）が指定された場合、アプリケーションプログラム５１１０から発行されたデータベース処理要求を多重化し（ステップＳ６００３）、一方のデータベース処理要求を旧データベースサーバ５２００に適するデータベース依存のプロトコル（旧ＤＢプロトコル）に変換して旧データベースサーバ５２００に投入し（ステップＳ６１０１）、他方のデータベース処理要求を新データベースサーバ５３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ５３００に投入し（ステップＳ６２０１）、旧データベースサーバ５２００および新データベースサーバ５３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換して比較検証し（ステップＳ６１０３、Ｓ６２０３、Ｓ６００４、Ｓ６００５）、比較検証結果を出力するとともに（ステップＳ６００６）、データベース非依存のプロトコル（標準プロトコル）に変換された旧データベースサーバ５２００のデータ処理結果をアプリケーションプログラム５１１０に返却し（ステップＳ６００７、Ｓ６００８）、第２のモード（検証モード）が指定された場合、アプリケーションプログラム５１１０から発行されたデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後（ステップＳ７２０１）、新データベースサーバ５３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ５３００に投入し（ステップＳ７２０３）、新データベースサーバ５３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム５１１０に返却する（ステップＳ７２０５）。【００９７】  本実施の形態には、以下の３つのモードによる動作がある。【００９８】１．準備モード  ＤＢＭＳ移行作業の準備として、移行に伴って変換が必要となる旧ＳＱＬを実運用環境において発見するモード。２．検証モード  ＤＢＭＳ移行作業として、設定した変換ルールに基づくＳＱＬ変換の成否を実運用環境において検証するモード。３．移行モード  完全に新ＤＢＭＳに移行するモード。【００９９】  各モードは、切り替え部５４００によって、制御部５１２２の動作を切り替えることで変更する。なお、この切り替えは、人の判断で行ってもよいし、アプリケーションや拡張ＤＢ接続ミドルウェアの状態を監視し、それをもとに自動で判断して行ってもよい。【０１００】［準備モード］  まずは、図３と、図４および図５のフローチャートを参照して、本実施の形態の準備モードの動作について詳細に説明する。【０１０１】  アプリケーションサーバ５１００−１，５１００−２，…，５１００−ｎにおいて、アプリケーション５１１０がＤＢＭＳにデータ処理を依頼する場合、データ処理要求として、移行前の旧ＤＢＭＳ５２１０用のＳＱＬを、標準プロトコルでもって、ＤＢ接続ミドルウェア５１２０を介して発行しようとする（ステップＳ６００１）。【０１０２】  拡張ＤＢ接続ミドルウェア５１２０において、インタフェース５１２１がデータ処理要求を受け取り、制御部５１２２に転送する（ステップＳ６００２）。【０１０３】  データ処理要求を受け取った制御部５１２２は、それを多重化し、旧ＤＢ用プロトコル変換部５１２３と新ＤＢ用プロトコル変換部５１２６に、それぞれ転送する（ステップＳ６００３）。【０１０４】  多重化されたデータ処理要求の一方を受け取った旧ＤＢ用プロトコル変換部５１２３は、標準プロトコルのデータ処理要求を、旧ＤＢＭＳ５２１０固有のプロトコルに変換して、旧ＤＢＭＳ５２１０に発行する（ステップＳ６１０１）。【０１０５】  旧データベースサーバ５２００において、固有プロトコルのデータ処理要求を受け取った旧ＤＢＭＳ５２１０は、データ処理要求のＳＱＬを解釈し、その要求に従い、管理している旧形式データ５２２０を用いてデータ処理を行い、その結果であるデータ処理結果を、やはり固有プロトコルでもって、旧ＤＢ用プロトコル変換部５１２３に返す（ステップＳ６１０２）。【０１０６】  固有プロトコルのデータ処理結果を受け取った旧ＤＢ用プロトコル変換部５１２３は、データ処理結果を標準プロトコルに変換し、制御部５１２２に転送する（ステップＳ６１０３）。【０１０７】  また、多重化されたデータ処理要求のもう一方を受け取った新ＤＢ用プロトコル変換部５１２６は、標準プロトコルのデータ処理要求を、新ＤＢＭＳ５３１０固有のプロトコルに変換して、新ＤＢＭＳ５３１０に発行する（ステップＳ６２０１）。【０１０８】  新データベースサーバ５３００において、固有プロトコルのデータ処理要求を受け取った新ＤＢＭＳ５３１０は、データ処理要求のＳＱＬを解釈し、その要求に従い、管理している新形式データ５３２０を用いてデータ処理を行い、その結果であるデータ処理結果を、やはり固有プロトコルでもって、新ＤＢ用プロトコル変換部５１２６に返す（ステップＳ６２０２）。【０１０９】  なお、受け取ったデータ処理要求は、旧ＤＢＭＳ５２１０用のＳＱＬで記述されているため、新ＤＢＭＳでは解釈できず、データ処理結果としてエラーを返す場合もありえる。【０１１０】  固有プロトコルのデータ処理結果を受け取った新ＤＢ用プロトコル変換部５１２６は、データ処理結果を標準プロトコルに変換し、制御部５１２２に転送する（ステップＳ６２０３）。【０１１１】  旧ＤＢＭＳ５２１０からのデータ処理結果と、新ＤＢＭＳ５３１０からのデータ処理結果の両方を受け取った制御部５１２２は、両方のデータ処理結果を検証部５１２７に転送する（ステップＳ６００４）。【０１１２】  検証部５１２７は、両ＤＢＭＳからのデータ処理結果の内容を調べ、比較検証する。この時点では、各データ処理結果は、仕様が公開されていないＤＢＭＳ固有のプロトコルではなく、仕様の公開された標準プロトコルのため、データ処理結果を調べ、比較することは容易である（ステップＳ６００５）。なお、データ処理結果を比較検証するだけでなく、データ処理要求を投入してからデータ処理結果が帰ってくるまでのデータ処理時間を計測、比較し、極端に処理に時間がかかるＳＱＬは、パフォーマンスチューニングのための変換を行ったほうがよいＳＱＬであると判断し、その旨を比較検証結果として出力してもよい。【０１１３】  通知部５１２８は、比較検証した両データ処理結果の元となったデータ処理要求を制御部５１２２から受取り、このデータ処理要求と比較検証の結果（両ＤＢＭＳからのデータ処理結果が、同じか、異なるか）を示すメッセージをコンソールに表示する、ログファイルに記録する、等の方法で通知する（ステップＳ６００６）。【０１１４】  なお、通知部５１２８は、常に比較検証の結果を通知するのではなく、例えば異なる場合のみ通知する、といった動作をしてもかまわない。【０１１５】  また、通知部５１２８は、通知先や通知条件を状況に応じて変化させても構わない。たとえば、準備モード等、変換ルールが整っていない場合は、検証結果が異なる場合にログファイルに記録し、検証モードで変換ルールを検証中には、すべての検証結果をログファイルに記録し、変換ルールが整備されたあとは、検証結果が異なる場合のみ、メールで管理者に通知する等が考えられる。【０１１６】  一方、制御部５１２２は、両ＤＢＭＳからのデータ処理結果のうち、旧ＤＢＭＳ５２１０からのデータ処理結果のみをインタフェース５１２１に転送する（ステップＳ６００７）。【０１１７】  データ処理結果を受け取ったインタフェース５１２１は、それをアプリケーション５１１０に返す（ステップＳ６００８）。【０１１８】  アプリケーション５１１０は、旧ＤＢＭＳ５２１０単体に対してデータ処理要求を発行した場合と同様のデータ処理結果を受け取り、従来通り情報処理を行う（ステップＳ６００９）。【０１１９】  このように動作することで、旧ＤＢＭＳにデータ処理要求を投入して、その処理結果を用いて計算機システムを継続して動作させつつ、新ＤＢＭＳにもデータ処理要求を投入し、その処理結果を、旧ＤＢＭＳの処理結果と比較検証し、結果が異なるＳＱＬは変換すべきＳＱＬであると特定する。【０１２０】［検証モード］  次に、図３と、図６および図７のフローチャートを参照して、本実施の形態の検証モードの動作について詳細に説明する。【０１２１】  図６のステップＳ７００１〜Ｓ７００２、ステップＳ７１０１〜Ｓ７１０３、ステップＳ７２０３〜Ｓ７２０５、ステップＳ７００４、図７のステップＳ７００５〜Ｓ７００９で示される動作は、それぞれ図４のステップＳ６００１〜Ｓ６００２、ステップＳ６１０１〜Ｓ６１０３、ステップＳ６２０１〜Ｓ６２０３、ステップＳ６００４、図５のステップＳ６００５〜Ｓ６００９の動作と同一であるため、説明は省略する。【０１２２】  インタフェース５１２１から標準プロトコルのデ��タ処理要求を受け取った制御部５１２２は、それを多重化し、旧ＤＢ用プロトコル変換部５１２３とＳＱＬ変換部５１２４に、それぞれ転送する（ステップＳ７００３）。【０１２３】  多重化されたデータ処理要求の一方を受け取ったＳＱＬ変換部５１２４は、データ処理要求の内容であるＳＱＬを調べ、変換情報５１２５に基づき、必要であれば、ＳＱＬ変換を行う（ステップＳ７２０１）。【０１２４】  この際、変換情報５１２５は、準備モードで取得した比較検証の結果を元に、特定した変換すべきＳＱＬの変換ルールが設定されている。【０１２５】  ＳＱＬ変換後、ＳＱＬ変換部５１２４は、変換したデータ処理要求を制御部５１２２に返す。【０１２６】  変換されたデータ処理要求を受け取った制御部５１２２は、それを新ＤＢ用プロトコル変換部５１２６に転送する（ステップＳ７２０２）。【０１２７】  このように動作することで、旧ＤＢＭＳにデータ処理要求を投入して、その処理結果を用いて計算機システムを継続して動作させつつ、新ＤＢＭＳには、新ＤＢＭＳ用ＳＱＬに変換したデータ処理要求を投入し、その処理結果を、旧ＤＢＭＳの処理結果と比較検証する。【０１２８】［移行モード］  次に、図３および図８のフローチャートを参照して、本実施の形態の移行モードの動作について詳細に説明する。【０１２９】  図８のステップＳ８００１〜Ｓ８００２、ステップＳ８００４〜Ｓ８００８、ステップＳ８０１０〜Ｓ８０１１で示される動作は、それぞれ図６のステップＳ７００１〜Ｓ７００２、ステップＳ７２０１〜Ｓ７２０５、図７のステップＳ７００８〜Ｓ７００９の動作と同一であるため、説明は省略する。【０１３０】  インタフェース５１２１から標準プロトコルのデータ処理要求を受け取った制御部５１２２は、それをＳＱＬ変換部５１２４にのみ転送する（ステップＳ８００３）。【０１３１】  新ＤＢプロトコル変換部５１２６から、新ＤＢＭＳ５３１０からの標準プロトコルのデータ処理結果を受け取った制御部５１２２は、それをインタフェース５１２１に返す（ステップＳ８００９）。【０１３２】  このように動作することで、新ＤＢＭＳで、アプリケーションを変更することなく透過的に、かつ、新旧両方のＤＢＭＳの種類によらず汎用的に、計算機システムを継続して動作させる。【０１３３】［効果の説明］  次に本実施の形態の効果について説明する。【０１３４】  本実施の形態では、第１の実施の形態で得られる効果に加えて、準備モードにおいて、アプリケーションが発行するデータ処理要求を旧ＤＢＭＳ用ＳＱＬのまま旧ＤＢＭＳ、新ＤＢＭＳ両方に投入し、その結果を比較検証することで、結果が異なったＳＱＬは、変換すべきＳＱＬであると特定することができる。【０１３５】  また、データ処理結果だけでなく、データ処理要求を投入してからデータ処理結果が帰ってくるまでのデータ処理時間を計測、比較することで、極端に処理に時間がかかるＳＱＬは、パフォーマンスチューニングのための変換を行ったほうがよいＳＱＬであると特定することができる。【０１３６】  また、検証モードにおいて、旧ＤＢＭＳには、旧ＤＢ用ＳＱＬのままのデータ処理要求を投入し、新ＤＢＭＳには、準備モードで特定した変換すべきＳＱＬの変換ルー���を変換情報として設定して、それを元にＳＱＬ変換したデータ処理要求を投入し、その結果を比較検証することで、設定した変換情報が正しいかどうかを検証することができる。【０１３７】  また、変換情報が正しくない場合は、比較検証の結果から設定しなおすべきＳＱＬとその変換ルールを特定し、再度設定しなおして検証を繰り返すことで、変換ルールを、ブラッシュアップすることができる。【０１３８】  また、準備モード、検証モード両方において、新ＤＢＭＳがデータ処理結果としてエラーを返してきても、旧ＤＢＭＳのデータ処理結果のみをアプリケーションに返すことで、エラーの影響を受けることなく、情報システムを継続して動作させるので、テスト環境ではなく、実際の運用環境において、準備、検証を実行することができる。【０１３９】  また、移行モードにおいて、検証モードで正しさが十分検証された変換ルールを用いてＳＱＬ変換を行うことで、新ＤＢＭＳに移行しても、アプリケーションを変更することなく透過的に、情報システムを継続して動作させることができる。【０１４０】  以上説明したように本実施形態の計算機システムでは、旧データベースサーバから新データベースサーバへ移行する作業を支援するために、アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方を旧データベースサーバに投入すると同時に、他方をわざとそのまま新データベースサーバに投入して両者のデータ処理結果を比較するモードを設けることで、新データベース操作言語に変更すべき旧データベース操作言語の洗い出しを行う。【０１４１】  本実施形態の計算機システムによれば、上記実施形態の効果に加え、変換したデータベース操作言語が正しく動作しているか検証できるという効果を奏する。【０１４２】  その理由は、データ処理要求を多重化し、一方をそのまま旧ＤＢＭＳに、もう一方を変換して新ＤＢＭＳ両方に投入し、そのデータ処理の結果を比較するためである。【０１４３】（第２の実施の形態の変形例）  上述した第２の実施の形態では、準備モードおよび検証モードの両方のモードにおいて、新ＤＢＭＳ５３１０と旧ＤＢＭＳ５２１０に対するデータ処理要求のデータ処理結果が異なる場合、旧形式データ５２２０と新形式データ５３２０に不整合が発生し、以降のデータ処理結果が全て異なる可能性がある。このため、準備モードにあっては、変換すべきＳＱＬの特定に誤りが生じるおそれがあり、検証モードにあってはＳＱＬ変換ルール自体の検証が困難になる。従って、第２の実施の形態は参照がメインのシステムには向いているが、更新の多いシステムには向いていない。【０１４４】  そこで、第２の実施の形態の変形例では、データ処理結果が異なる場合、以降、制御部５１２２は新ＤＢＭＳ５３１０へのデータ処理要求の転送を行わない。  すなわち、データベース接続部（拡張ＤＢ接続ミドルウェア５１２０）は、第１のモードの処理（準備モード）において、旧データベースサーバ５２００および新データベースサーバ５３００のデータ処理結果が一致しなかった場合、新データベースサーバ５３００への以降のデータベース処理要求の投入を停止する。【０１４５】  データ処理結果が一致するか否かの検証は、図３の検証��５１２７により行われ、旧データベースサーバ５２００および新データベースサーバ５３００のデータ処理結果が一致しなかった場合、制御部５１２２に新データベースサーバ５３００への以降のデータベース処理要求の投入を停止するよう指示する。【０１４６】  これにより、以後、準備モードの場合には変換の必要なＳＱＬの発見動作が停止するが、変換すべきＳＱＬの特定に誤りが生じるのを防止することができる。また、検証モードの場合には、以後、検証動作が停止するが、設定されたＳＱＬ変換ルールが正しいのにもかかわらず間違っているとの検証結果が出力されるのを防止することができる。【０１４７】  なお、新ＤＢＭＳ５３１０と旧ＤＢＭＳ５２１０に対するデータ処理要求のデータ処理結果が異なる場合に旧形式データ５２２０と新形式データ５３２０に不整合が発生するのは、当該データ処理要求がデータを変更する要求（ＵＰＤＡＴＥ、ＩＮＳＥＲＴ、ＤＥＬＥＴＥ等）の場合なので、後述する第３の実施の形態における判定部（図９の９１２９）と同様な判定部を設け、この判定部によりデータ処理要求がデータを変更する要求であるかどうかを判定し、データを変更する要求である場合に限り、以降、制御部５１２２は新ＤＢＭＳ５３１０へのデータ処理要求の転送を行わないようにしても良い。【０１４８】  すなわち、データベース接続部（拡張ＤＢ接続ミドルウェア５１２０）は、第１のモード（準備モード）の処理において、旧データベースサーバ５２００および新データベースサーバ５３００のデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバ５３００への以降のデータベース処理要求の投入を停止する。【０１４９】（第３の実施の形態）  次に本発明の第３の実施の形態について図面を参照して詳細に説明する。【０１５０】［構成の説明］  図９は、本発明の実施の形態に係る計算機システムの構成を示すブロック図である。  データベース接続部（拡張ＤＢ接続ミドルウェア９１２０）は、第１のモード（準備モード）の処理において、旧データベースサーバ９２００および新データベースサーバ９３００のデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であるか否かを判定する判定部９１２９と、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバ９２００および新データベースサーバ９３００に対して行ったデータベース処理要求を取り消す取消部９１３０と、を含み、データベース処理要求を取り消したとき、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラム９１１０に返却する。【０１５１】  図９を参照すると、本発明の第３の実施の形態は、複数のアプリケーションサーバ９１００−１，９１００−２，…，９１００−ｎと、旧データベースサーバ９２００と、新データベースサーバ９３００と、各アプリケーションサーバ９１００−１，９１００−２，…，９１００−ｎの拡張ＤＢ接続ミドルウェア９１２０を制御する切り替え部９４００とから構成される。【０１５２】  各アプリケーションサーバ９１００−１，９１００−２，…，９１００−ｎは、情報処理を行うア���リケーション９１１０と、アプリケーション９１１０と旧ＤＢＭＳ９２１０および新ＤＢＭＳ９３１０を接続する拡張ＤＢ接続ミドルウェア９１２０とを備える。【０１５３】  拡張ＤＢ接続ミドルウェア９１２０は、標準プロトコルのインタフェースであるインタフェース９１２１と、データ処理要求の流れを制御する制御部９１２２と、標準プロトコルを旧ＤＢＭＳ９２１０固有のプロトコルに変換する旧ＤＢ用プロトコル変換部９１２３と、標準プロトコルを新ＤＢＭＳ９３１０固有のプロトコルに変換する新ＤＢ用プロトコル変換部９１２６と、データ処理要求の内容であるＳＱＬを変換するＳＱＬ変換部９１２４と、どのようにＳＱＬ変換を行うかを定義した変換ルールである変換情報を記憶する変換情報記憶部９１２５（以後、「変換情報９１２５」と示す）と、データ処理結果を比較検証する検証部９１２７と、検証結果を通知する通知部９１２８と、データ処理要求を識別、判定する判定部９１２９と、データ処理要求の取り消し（ロールバック）を行う取消部９１３０とを備える。【０１５４】  旧データベースサーバ９２００は、アプリケーション９１１０が処理を行う際に必要なデータである旧形式データ９２２０を蓄積するストレージと、旧形式データ９２２０を管理する移行前の旧ＤＢＭＳ９２１０とを備える。【０１５５】  新データベースサーバ９３００は、旧形式データ９２２０を新ＤＢＭＳ９３１０が扱える形に変換した新形式データ９３２０を蓄積するストレージと、新形式データ９３２０を管理する移行した新ＤＢＭＳ９３１０とを備える。【０１５６】［動作の説明］  次に本実施の形態の動作について詳細に説明する。【０１５７】  本実施の形態には、以下の３つのモードによる動作がある。【０１５８】１．準備モード  ＤＢＭＳ移行作業の準備として、移行に伴って変換が必要となる旧ＳＱＬを実運用環境において発見するモード。２．検証モード  ＤＢＭＳ移行作業として、設定した変換ルールに基づくＳＱＬ変換の成否を実運用環境において検証するモード。３．移行モード  完全に新ＤＢＭＳに移行するモード。【０１５９】  各モードは、切り替え部９４００によって、制御部９１２２の動作を切り替えることで変更する。なお、この切り替えは、人の判断で行ってもよいし、アプリケーションや拡張ＤＢ接続ミドルウェアの状態を監視し、それをもとに判断を行う外部の制御装置が自動で行ってもよい。【０１６０】［準備モード］  まずは、図９および図１０〜図１２のフローチャートを参照して、本実施の形態の準備モードの動作について詳細に説明する。【０１６１】  図１０のステップＳ１０００１〜Ｓ１０００４、図１１のステップＳ１０００５〜１０００６、図１０のステップＳ１０１０１〜Ｓ１０１０３、ステップＳ１０２０１〜Ｓ１０２０３で示される動作は、それぞれ図４のステップＳ６００１〜Ｓ６００４、図５のステップＳ６００５〜Ｓ６００６、図４のステップＳ６１０１〜Ｓ６１０３、ステップＳ６２０１〜Ｓ６２０３の動作と同一であるため、説明は省略する。【０１６２】  検証部９１２７による旧ＤＢＭＳ９２１０からのデータ処理結果と新ＤＢＭＳ９３１０からのデータ処理応答の比較検証の結果（ステップＳ１０００７）、両方のデータ���理結果が異なれば、判定部９１２９は、データ処理結果の元となったデータ処理要求が、データを変更するデータ処理要求（ＵＰＤＡＴＥ、ＩＮＳＥＲＴ、ＤＥＬＥＴＥ等）であるかどうかを判定する（ステップＳ１０００８）。【０１６３】  判定部９１２９による判定の結果（ステップＳ１０００９）、データ処理要求が、データを変更するデータ処理要求であった場合、取消部９１３０は、データ処理要求による変更を取り消すデータ処理要求（ＲＯＬＬＢＡＣＫ等）を、標準プロトコルで発行する（ステップＳ１００１０）。【０１６４】  取消データ処理要求を受け取った制御部９１２２は、それを多重化し、旧ＤＢ用プロトコル変換部９１２３と新ＤＢ用プロトコル変換部９１２６に、それぞれ転送する（ステップＳ１００１１）。【０１６５】  多重化された取消データ処理要求の一方を受け取った旧ＤＢ用プロトコル変換部９１２３は、標準プロトコルの取消データ処理要求を、旧ＤＢＭＳ９２１０固有のプロトコルに変換して、旧ＤＢＭＳ９２１０に発行する（ステップＳ１０３０１）。【０１６６】  旧データベースサーバ９２００において、固有プロトコルの取消データ処理要求を受け取った旧ＤＢＭＳ９２１０は、取消データ処理要求のＳＱＬを解釈し、その要求に従い、ステップＳ１０１０２で旧ＤＢＭＳ９２１０が行ったデータ処理による旧形式データ９２２０の変更を取り消し、その結果であるデータ処理結果を、やはり固有プロトコルでもって、旧ＤＢ用プロトコル変換部９１２３に返す（ステップＳ１０３０２）。【０１６７】  固有プロトコルのデータ処理結果を受け取った旧ＤＢ用プロトコル変換部９１２３は、データ処理結果を標準プロトコルに変換し、制御部９１２２に転送する（ステップＳ１０３０３）。【０１６８】  また、多重化された取消データ処理要求のもう一方を受け取った新ＤＢ用プロトコル変換部９１２６は、標準プロトコルの取消データ処理要求を、新ＤＢＭＳ９３１０固有のプロトコルに変換して、新ＤＢＭＳ９３１０に発行する（ステップＳ１０４０１）。【０１６９】  新データベースサーバ９３００において、固有プロトコルの取消データ処理要求を受け取った新ＤＢＭＳ９３１０は、取消データ処理要求のＳＱＬを解釈し、その要求に従い、ステップＳ１０２０２で新ＤＢＭＳ９３１０が行ったデータ処理による新形式データ９３２０の変更を取り消し、その結果であるデータ処理結果を、やはり固有プロトコルでもって、新ＤＢ用プロトコル変換部９１２６に返す（ステップＳ１０４０２）。【０１７０】  固有プロトコルのデータ処理結果を受け取った新ＤＢ用プロトコル変換部９１２６は、データ処理結果を標準プロトコルに変換し、制御部９１２２に転送する（ステップＳ１０４０３）。【０１７１】  旧ＤＢＭＳ９２１０からのデータ処理結果と、新ＤＢＭ９３１０からのデータ処理結果の両方を受け取った制御部９１２２は、これを破棄し、データ処理要求が実行できなかったという旨のデータ処理結果をインタフェース９１２１に発行する（ステップＳ１００１２）。【０１７２】  データ処理結果を受け取ったインタフェース９１２１は、それをアプリケーション９１１０に返す（ステップＳ１００１３）。【０１７３】  アプリケーション９１１０は、データ処理結果を受け取り、発行したデータ処理要求が実行されなかったことを認識した上で、通常通り、情報処理を継続する（ステップＳ１００１４）。このときアプリケーション９１１０はデータ処理には失敗するが、異常終了するわけではない。なぜなら、「処理できなかった」という応答は異常なものではないからである。アプリケーション９１１０は、「処理できなかった」という結果に応じた処理を継続する。その処理の結果はアプリケーションの停止かもしれないが、これも異常終了ではなく、想定された終了である。【０１７４】  一方、ステップＳ１０００７で、旧ＤＢＭＳ９２１０からのデータ処理結果と新ＤＢＭＳ９３１０からのデータ処理応答の比較検証の結果が同じである場合、あるいは、ステップＳ１０００９で、データ処理要求が、データを変更するデータ処理要求でない場合、制御部Ｓ９１２２は、両ＤＢＭＳからのデータ処理結果のうち、旧ＤＢＭＳ９２１０からのデータ処理結果のみをインタフェース９１２１に転送する（ステップＳ１０５０１）。【０１７５】  データ処理結果を受け取ったインタフェース９１２１は、それをアプリケーション９１１０に返す（ステップＳ１０５０２）。【０１７６】  アプリケーション９１１０は、旧ＤＢＭＳ９２１０単体に対してデータ処理要求を発行した場合と同様のデータ処理結果を受け取り、従来通り情報処理を行う（ステップＳ１０５０３）。【０１７７】  このように動作することで、旧ＤＢＭＳ９２１０と新ＤＢＭＳ９３１０でデータ処理結果が異なっても、そのデータ処理を取り消すことで、旧形式データ９２２０と新形式データ９３２０との論理的な整合性を維持し、継続して両ＤＢＭＳを用いて、変換すべきＳＱＬの特定を継続する。【０１７８】［検証モード］  次に、図９および図１３〜図１５のフローチャートを参照して、本実施の形態の検証モードの動作について詳細に説明する。【０１７９】  図１３のステップＳ１１００１、Ｓ１１００２、Ｓ１１００４、ステップＳ１１１０１〜Ｓ１１１０３、ステップＳ１１２０３〜Ｓ１１２０５、図１４のステップＳ１１００５〜Ｓ１１００９、ステップＳ１１５０１〜Ｓ１１５０３、図１５のステップＳ１１０１０〜Ｓ１１０１４、ステップＳ１１３０１〜Ｓ１１３０３、ステップＳ１１４０１〜Ｓ１１４０３で示される動作は、それぞれ図１０のステップＳ１０００１、Ｓ１０００２、Ｓ１０００４、ステップＳ１０１０１〜Ｓ１０１０３、ステップＳ１０２０１〜Ｓ１０２０３、図１１のステップＳ１０００５〜Ｓ１０００９、ステップＳ１０５０１〜Ｓ１０５０３、図１２のステップＳ１００１０〜Ｓ１００１４、ステップＳ１０３０１〜Ｓ１０３０３、ステップＳ１０４０１〜Ｓ１０４０３の動作と同一であるため、説明は省略する。【０１８０】  インタフェース９１２１から標準プロトコルのデータ処理要求を受け取った制御部９１２２は、それを多重化し、旧ＤＢ用プロトコル変換部９１２３とＳＱＬ変換部９１２４に、それぞれ転送する（ステップＳ１１００３）。【０１８１】  多重化されたデータ処理要求の一方を受け取ったＳＱＬ変換部９１２４は、データ処理要求の内容であるＳＱＬを調べ、変換情報９１２５に基づき、必要であれば、ＳＱＬ変��を行い、変換したデータ処理要求を制御部９１２２に返す（ステップＳ１１２０１）。制御部９１２２は、変換されたデータ処理要求を新ＤＢプロトコル変換部９１２６に転送する（ステップＳ１１２０２）。【０１８２】  このように動作することで、旧ＤＢＭＳ９２１０と新ＤＢＭＳ９３１０でデータ処理結果が異なっても、そのデータ処理を取り消すことで、旧形式データ９２２０と新形式データ９３２０との論理的な整合性を維持し、継続して両ＤＢＭＳを用いて、ＳＱＬ変換の検証を継続する。【０１８３】［移行モード］  移行モードの動作は、第２の実施の形態における移行モードの動作と同一のため、その動作の説明は省略する。【０１８４】［効果の説明］  次に本実施の形態の効果について説明する。【０１８５】  本実施の形態では、第２の実施の形態で得られる効果に加えて、変換ルールが不完全で、新ＤＢＭＳと旧ＤＢＭＳのデータ処理結果が異なった場合でも、そのデータ処理を取り消すことで、旧形式データと新形式データの整合性を維持し、変換すべきＳＱＬの特定、およびＳＱＬ変換の検証を継続できる。【０１８６】（第４の実施の形態）  次に本発明の第４の実施の形態について図面を参照して詳細に説明する。【０１８７】［構成の説明］  図１６は、本発明の実施の形態に係る計算機システムの構成を示すブロック図である。  本発明の実施の形態に係る計算機システムは、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム１２１１０が稼動する１以上のアプリケーションサーバ１２１００−１、１２１００−２、１２１００−ｎと、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（旧ＤＢプロトコル）に従って受け付ける旧データベースサーバ１２２００と、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢ用プロトコル）に従って受け付ける新データベースサーバ１２３００と、第１のモード（検証モード）が指定された場合、アプリケーションプログラム１２１１０から発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を旧データベースサーバ１２２００に適するデータベース依存のプロトコル（旧ＤＢプロトコル）に変換して旧データベースサーバ１２２００に投入し、他方のデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後、新データベースサーバ１２３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ１２３００に投入し、旧データベースサーバ１２２００および新データベースサーバ１２３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換して比較検証し、比較検証結果を出力するとともに、データベース非依存のプロトコル（標準プロトコル）に変換された旧データベースサーバ１２２００のデータ処理結果をアプリケーションプログラム１２１１０に返却し、第２のモード（移行モード）が指定された場合、アプリケーションプログラム１２１１０から発行されたデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後、新データベースサーバ１２３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ１２３００に投入し、新データベースサーバ１２３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム１２１１０に返却するデータベース接続部（拡張ＤＢ接続ミドルウェア１２１２０）と、を備える。【０１８８】  さらに、データベース接続部（拡張ＤＢ接続ミドルウェア１２１２０）は、第１のモード（検証モード）の処理において、旧データベースサーバ１２２００および新データベースサーバ１２３００のデータ処理結果が一致しなかった場合、新データベースサーバ１２３００に対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換するための変換情報１２１２５を変更した後、該変更後の変換情報１２１２５を用いて元のデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換し、さらに新データベースサーバ１２３００に適したデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ１２３００に投入し、得られた新データベースサーバ１２３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換して旧データベースサーバ１２２００のデータ処理結果と比較検証する。【０１８９】  図１６を参照すると、本発明の第４の実施の形態は、複数のアプリケーションサーバ１２１００−１，１２１００−２，…，１２１００−ｎと、旧データベースサーバ１２２００と、新データベースサーバ１２３００と、各アプリケーションサーバ１２１００−１，１２１００−２，…，１２１００−ｎの拡張ＤＢ接続ミドルウェア１２１２０を制御する切り替え部１２４００とから構成される。【０１９０】  各アプリケーションサーバ１２１００−１，１２１００−２，…，１２１００−ｎは、情報処理を行うアプリケーション１２１１０と、アプリケーション１２１１０と旧ＤＢＭＳ１２２１０および新ＤＢＭＳ１２３１０を接続する拡張ＤＢ接続ミドルウェア１２１２０とを備える。【０１９１】  データベース接続部（拡張ＤＢ接続ミドルウェア１２１２０）は、アプリケーションプログラム１２１１０から発行されたデータベース処理要求のデータベース操作言語（旧ＤＢ用ＳＱＬ）を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換する仕様変換部（ＳＱＬ変換部１２１２４）と、データベース処理要求のプロトコル（標準プロトコル）を新データベースサーバ１２３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換し、新データベースサーバ１２３００のデータ処理結果のプロトコル（新ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換する新プロトコル変換部（新ＤＢ用プロトコル変換部１２１２６）と、データベース処理要求のプロトコル（標準プロトコル）を旧データベースサーバ１２２００に適するデータベース依存のプロトコル（旧Ｄ���プロトコル）に変換し、旧データベースサーバ１２２００のデータ処理結果のプロトコル（旧ＤＢプロトコル）をデータベース非依存のプロトコル（標準プロトコル）に変換する旧プロトコル変換部（旧ＤＢ用プロトコル変換部１２１２３）と、データベース非依存のプロトコル（標準プロトコル）に変換された新データベースサーバ１２３００および旧データベースサーバ１２２００のデータ処理結果どうしを比較検証する検証部１２１２７と、検証部１２１２７の比較検証結果を出力する出力部（通知部１２１２８）と、第１のモード（検証モード）と第２のモード（移行モード）のうち指定されたモードによる処理を制御する制御部（制御部１２１２２）と、を備える。【０１９２】  具体的には、拡張ＤＢ接続ミドルウェア１２１２０は、標準プロトコルのインタフェースであるインタフェース１２１２１と、データ処理要求の流れを制御する制御部１２１２２と、標準プロトコルを旧ＤＢＭＳ１２２１０固有のプロトコルに変換する旧ＤＢ用プロトコル変換部１２１２３と、標準プロトコルを新ＤＢＭＳ１２３１０固有のプロトコルに変換する新ＤＢ用プロトコル変換部１２１２６と、データ処理要求の内容であるＳＱＬを変換するＳＱＬ変換部１２１２４と、どのようにＳＱＬ変換を行うかを定義した変換ルールである変換情報を記憶する変換情報記憶部１２１２５（以後、「変換情報１２１２５」と示す）と、変換情報を変更する変更部１２１３１と、データ処理結果を比較検証する検証部１２１２７と、検証結果を通知する通知部１２１２８と、データ処理要求を識別、判定する判定部１２１２９と、データ処理の取り消し（ロールバック）を行う取消部１２１３０と、データ処理要求を記録、再生する記録再生部１２１３２と、記録したデータ処理要求である要求記録を記録する要求記録部１２１３３（以後、「要求記録１２１３３」と示す）とを備える。【０１９３】  旧データベースサーバ１２２００は、アプリケーション１２１１０が処理を行う際に必要なデータである旧形式データ１２２２０を蓄積するストレージと、旧形式データ１２２２０を管理する移行前の旧ＤＢＭＳ１２２１０とを備える。【０１９４】  新データベースサーバ１２３００は、旧形式データ１２２２０を新ＤＢＭＳ１２３１０が扱える形に変換した新形式データ１２３２０を蓄積するストレージと、新形式データ１２３２０を管理する移行した新ＤＢＭＳ１２３１０とを備える。【０１９５】［動作の説明］  次に図１６および図１７〜図１９のフローチャートを参照して、本実施の形態の計算機システムの動作について詳細に説明する。  本発明の実施の形態に係るデータベースアクセス方法は、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース非依存のプロトコル（標準プロトコル）に従って発行するアプリケーションプログラム１２１１０が稼動する１以上のアプリケーションサーバ１２１００−１、１２１００−２、１２１００−ｎと、第１のデータベース操作言語（旧ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（旧ＤＢプロトコル）に従って受け付ける旧データベースサーバ１２２００と、第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に準拠したデータベース処理要求をデータベース依存のプロトコル（新ＤＢプロトコル）に従って受け付ける新データベースサーバ１２３００と、を備えた計算機システムにおけるデータベースアクセス方法であって、データベース接続部（拡張ＤＢ接続ミドルウェア１２１２０）が、第１のモード（検証モード）が指定された場合、アプリケーションプログラム１２１１０から発行されたデータベース処理要求を多重化し（ステップＳ１３００４）、一方のデータベース処理要求を旧データベースサーバ１２２００に適するデータベース依存のプロトコル（旧ＤＢプロトコル）に変換して旧データベースサーバ１２２００に投入し（ステップＳ１３１０１）、他方のデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後（ステップＳ１３２０１）、新データベースサーバ１２３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ１２３００に投入し（ステップＳ１３２０３）、旧データベースサーバ１２２００および新データベースサーバ１２３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換して比較検証し（ステップＳ１３１０３、Ｓ１３２０５、Ｓ１３００５、Ｓ１３００６）、比較検証結果を出力するとともに（ステップＳ１３００７）、データベース非依存のプロトコル（標準プロトコル）に変換された旧データベースサーバ１２２００のデータ処理結果をアプリケーションプログラム１２１１０に返却し（ステップＳ１３５０１、Ｓ１３５０２）、第２のモード（移行モード）が指定された場合、アプリケーションプログラム１２１１０から発行されたデータベース処理要求を第２のデータベース操作言語（新ＤＢ用ＳＱＬ）に変換した後（図８のステップＳ８００４）、新データベースサーバ１２３００に適するデータベース依存のプロトコル（新ＤＢプロトコル）に変換して新データベースサーバ１２３００に投入し（図８のステップＳ８００６）、新データベースサーバ１２３００のデータ処理結果をデータベース非依存のプロトコル（標準プロトコル）に変換してアプリケーションプログラム１２１１０に返却する（図８のステップＳ８００８〜Ｓ８０１０）。【０１９６】  本実施の形態には、以下の２つのモードによる動作がある。【０１９７】１．検証モード  ＤＢＭＳ移行作業として、設定した変換ルールに基づくＳＱＬ変換の成否を検証するモード。２．移行モード  完全に新ＤＢＭＳに移行するモード。【０１９８】  各モードは、切り替え部１２４００によって、制御部１２１２２の動作を切り替えることで変更する。この切り替えは、人の判断で行ってもよいし、アプリケーションや拡張ＤＢ接続ミドルウェアの状態を監視し、それをもとに判断を行う外部の制御装置が自動で行ってもよい。なお、本実施の形態に、第２または第３の実施の形態における準備モードと同様な準備モードを設けるようにしても良い。【０１９９】［検証モード］  次に、図１６および図１７〜図１９のフローチャートを参照して、本実施の形態の検証モードの動作について詳細に説明する。【０２００】  図１７のステップＳ１３００１、Ｓ１３００２、Ｓ１３００４、Ｓ１３００５、ステップＳ１３１０１〜Ｓ１３１０３、ステップＳ１３２０１〜Ｓ１３２０５、図１８のステップＳ１３００６〜Ｓ１３０１０、Ｓ１３０１１、ステップＳ１３０１３〜Ｓ１３０１５、ステップＳ１３５０１〜Ｓ１３５０３で示される動作は、それぞれ図１３のステップＳ１１００１、ステップＳ１１００２、Ｓ１１００３、Ｓ１１００４、ステップＳ１１１０１〜Ｓ１１１０３、ステップＳ１１２０１〜Ｓ１１２０５、図１４のステップＳ１１００５〜Ｓ１１００９、図１５のＳ１１０１０、ステップＳ１１４０１〜Ｓ１１４０３、図１４のステップＳ１１５０１〜Ｓ１１５０３の動作と同一であるため、説明は省略する。【０２０１】  記録再生部１２１３２は、制御部１２１２２がインタフェース１２１２１から転送されたデータ処理要求を、要求記録１２１３３に記録する（ステップＳ１３００３）。【０２０２】  取消データ処理要求を受け取った制御部１３１２２は、それを新ＤＢ用プロトコル変換部１３１２６に転送する（ステップＳ１３０１２）。【０２０３】  ステップＳ１３２０４で新ＤＢＭＳ１２３１０が行ったデータ処理を取り消し、そのデータ処理結果を新ＤＢ用プロトコル変換部１２１２６を介して制御部１２１２２が受け取った（ステップＳ１３０１３〜Ｓ１３０１５）後、変更部１２１３１は、新ＤＢＭＳ１２３１０が旧ＤＢＭＳ１２２１０と同じデータ処理結果を返すようにデータ処理要求を変換できなかった変換情報１２１２５の変換ルールを変更する（ステップＳ１３０１６）。【０２０４】  この変換ルールの変更は、人が直接あるいは何らかのシステムを介して行ってもよいし、変換ルール変更用の外部装置が自動で行っても良い。【０２０５】  変換ルールの変更とは、既存の変換ルールを置き換える、新規に変換ルールを追加する、あるいは、複数ある変換ルールの適用優先順序を変更する、等が考えられる。【０２０６】  また、人がシステムを介して変換ルールを変更する場合、そのシステムのユーザインタフェースは、通知部１２１２８によって通知、蓄積された検証部１２１２７、あるいは他のシステムの検証部の検証履歴を利用し、成功した変換ルールや失敗した変換ルールを示す等の、変換ルールの変更作業を補佐する機能を備えていても良い。【０２０７】  次に、記録再生部１２１３２は、ステップＳ１３００３で記録したデータ処理要求を、要求記録１２１３３から再生し、制御部１２１２２に発行する（ステップＳ１３０１７）。【０２０８】  再生されたデータ処理要求を受け取った制御部１２１２２は、それをＳＱＬ変換部１２１２４に転送する（ステップＳ１３０１８）。【０２０９】  データ処理要求を受け取ったＳＱＬ変換部１２１２４は、ステップＳ１３０１６で変更された新しい変換情報１２１２５に基づき、ステップＳ１３２０１とは異なるＳＱＬ変換を行い、変換したデータ処理要求を制御部１２１２２に返す（ステップＳ１３０１９）。【０２１０】  変換されたデータ処理要求を受け取った制御部１２１２２は、それを新ＤＢ用プロトコル変換部１２１２６に転送する（ステップＳ１３０２０）。【０２１１】  データ処理要求を受け取った新ＤＢ用プロトコル変換部１２１２６は、標準プロトコルのデータ処理要求を、新ＤＢＭＳ１２３１０固有��プロトコルに変換して、新ＤＢＭＳ１２３１０に発行する（ステップＳ１３０２１）。【０２１２】  新データベースサーバ１２３００において、固有プロトコルのデータ処理要求を受け取った新ＤＢＭＳ１２３１０は、データ処理要求のＳＱＬを解釈し、その要求に従い、管理している新形式データ１２３２０を用いてデータ処理を行い、その結果であるデータ処理結果を、やはり固有プロトコルでもって、新ＤＢ用プロトコル変換部１２１２６に返す（ステップＳ１３０２２）。【０２１３】  固有プロトコルのデータ処理結果を受け取った新ＤＢ用プロトコル変換部１２１２６は、データ処理結果を標準プロトコルに変換し、制御部１２１２２に転送する（ステップＳ１３０２３）。【０２１４】  新ＤＢＭＳ１２３１０からの新しいデータ処理結果を受け取った制御部１２１２２は、保持していた旧ＤＢＭＳ１２２１０からのデータ処理結果とともに、検証部１２１２７に転送する（ステップＳ１３０２４）。【０２１５】  このように動作することで、旧ＤＢＭＳ１２２１０と新ＤＢＭＳ１２３１０でデータ処理結果が異なる場合、新ＤＢＭＳ１２３１０でそのデータ処理を取消し、変更した変換ルールで、データ処理結果が同じになるようにデータ処理要求を変換し、再度、新ＤＢＭＳ１２３１０に投入することを繰り返すことで、変換ルールをブラッシュアップし、また、旧形式データ１２２２０と新形式データ１２３２０との論理的な整合性を維持し、継続して両ＤＢＭＳを用いて検証を続けることができる。【０２１６】［移行モード］  移行モードの動作は、第３の実施の形態における移行モードの動作と同一のため、その動作説明は省略する。【０２１７】［効果の説明］  次に本実施の形態の効果について説明する。【０２１８】  本実施の形態では、第２の実施の形態で得られる効果に加えて、変換ルールが不完全で、新ＤＢＭＳと旧ＤＢＭＳのデータ処理結果が異なった場合でも、旧形式データと新形式データの整合性を維持し、検証を継続できる。【０２１９】  特に、一旦ＳＱＬ変換がうまくいかなくても、これまでのＳＱＬ変換の検証結果の履歴等を元に変換ルールを即時修正し、再度変換、新ＤＢＭＳに投入を繰り返すことで、アプリケーションに対しＳＱＬ変換の失敗を隠蔽し、データ処理が成功した状態で、これまでのＳＱＬ変換の検証結果の履歴等を元に、変換ルールのブラッシュアップ、検証を継続できる。【０２２０】  本実施形態の計算機システムでは、同じく旧データベースサーバから新データベースサーバへ移行する作業を支援するために、アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方を旧データベースサーバに投入すると同時に、他方を変換ルールで変換して新データベースサーバに投入して両者のデータ処理結果を比較するモードを設けることで、旧データベース操作言語から新データベース操作言語へ変換するルールである変換情報が正しく設定されているかどうかを検証する。このとき、両者のデータ処理結果が一致しない場合に、その時点で変換ルールを変更して再試行する仕組みを提供する。【０２２１】  本実施形態の計算機システムによれば、上記実施形態の効果に加え、データベース操作言語を変換する変換ルールを容易に設定できるという効果を奏する。【０２２２】  その理由は、データベース操作言語の変換がうまくいかなくても、その変換によるデータ処理を取り消し、これまでの変換の検証結果の履歴等を元に変換ルールを修正し、かつその変換ルールを用いて再度変換、新ＤＢＭＳに投入を繰り返し、アプリケーションに対しデータベース操作言語の変換の失敗を隠蔽して、変換ルールのブラッシュアップ、検証を行うことができるためである。【０２２３】（第４の実施の形態の変更例）  本変形例では、切り替え部１２４００が、第１のモード（検証モード）の処理中に、旧ＤＢＭＳ１２２１０および新ＤＢＭＳ１２３１０のデータ処理結果が一致しなくなる確率が低下したことを検出して、第２のモード（移行モード）へ自動的に切り替える。この場合の切り替え部１２４００の実施例を図２０に示す。【０２２４】  図２０を参照すると、切り替え部１２４００は、通知受信部１２４０１と判定部１２４０２と切り替え指示部１２４０３とを備える。【０２２５】  通知受信部１２４０１は、アプリケーションサーバの拡張ＤＢ接続ミドルウェア１２１２０の通知部１２１２８から検証モードにおける検証結果を受信する。【０２２６】  判定部１２４０２は、通知受信部１２４０１から検証結果を受け取り、旧ＤＢＭＳ１２２１０および新ＤＢＭＳ１２３１０のデータ処理結果が一致しなくなる確率が低下したかどうかの検出を行う。この検出は、例えば、旧ＤＢＭＳ１２２１０および新ＤＢＭＳ１２３１０のデータ処理結果の不一致を示す検証結果が、予め定められた一定期間以上にわたって通知されてこなかったかどうかによって行うことができる。他の方法としては、変換すべきＳＱＬの全部あるいは一部のリストを持ち、このリストに挙がっている全てのＳＱＬについて検証が成功したかどうか、即ち、新旧両方のＤＢＭＳのデータ処理結果が一致したかどうかを調べることで行うこともできる。【０２２７】  判定部１２４０２は、旧ＤＢＭＳ１２２１０および新ＤＢＭＳ１２３１０のデータ処理結果が一致しなくなる確率が低下したことを検出すると、切り替え指示部１２４０３に対してその旨を通知する。切り替え指示部１２４０３は、アプリケーションサーバの拡張ＤＢ接続ミドルウェア１２１２０の制御部１２１２２に対して移行モードへの切り替えを指示する。【０２２８】  前述したように第４の実施の形態では、検証モードにおいて変換ルールを適宜にブラッシュアップしていくことができるため、やがて変換ルールが整備され、検証失敗はめったに起きなくなる。本変形例では、一定時間以上にわたって検証失敗が発生しない等の状況に至れば、変換ルールが完成されたとみなし、自動的に移行モードに移行することができる。【０２２９】（その他の形態）  以上、本発明を実施するための最良の形態について説明したが、本発明は以上の実施の形態に限定されず、その他各種の付加変更が可能である。【０２３０】  例えば、本発明の各実施の形態では、各アプリケーションサーバ毎に分散して、制御手段をはじめとするデータベース移行機構を配置しているが、図２１に示すように、データベース移行機能をデータベース移行装置に集約し、各アプリケーションサーバには、そのデータベース移行装置への転送機能のみを持たせても構わない。【０２３１】  このように、複数のアプリケーションサーバのデータベース移行機能をデータベース移行装置に集約することにより保守性が向上し、また、データベース移行機能をアプリケーションサーバから独立させることによりアプリケーションサーバを軽量化することができる。ただし、データベース移行装置がボトルネック、単一故障点となるため、性能、耐障害性は低下する。【０２３２】  また、このデータベース移行装置を複数用意し、通常時は特定のデータベース移行装置を使用し、それが故障した場合には、別のデータベース移行装置が処理を引き継ぐような構成にしても構わない。【０２３３】  また、本発明の各実施の形態を組み合わせて動作するようにしても構わない。【０２３４】  例えば、第３の実施の形態における準備モードで変換すべきＳＱＬを特定した後、そのＳＱＬに対応した変換ルールを設定し、第４の実施の形態における検証モードで検証、変換ルールのブラッシュアップを行うように動作してもかまわない。【０２３５】  あるいは、第４の実施の形態において、データ処理結果が異なる場合、データ処理結果が同じになるまで変換ルールを変更し続けるが、一定回数変更しても、同じ結果にならない場合は、第３の実施の形態のように、両ＤＢＭＳのデータ処理を取り消すように動作しても構わない。【０２３６】  また、本発明のデータベース接続手段は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるデータベース接続手段としての拡張ＤＢ接続ミドルウェアとして機能させる。【０２３７】（産業上の利用可能性）  本発明は、ＤＢＭＳを用いてサービスを提供するシステムにおいて、低コストでＤＢＭＳを別のＤＢＭＳに移行するといった用途に適用できる。【０２３８】  この出願は、２００６年１１月６日に出願された日本出願特願２００６−３００１９９号を基礎とする優先権を主張し、その開示の全てをここに取り込む。【０２３９】  以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【図１】
2008056438.tif 000003
【図２】
2008056438.tif 000004
【図３】
2008056438.tif 000005
【図４】
2008056438.tif 000006
【図５】
2008056438.tif 000007
【図６】
2008056438.tif 000008
【図７】
2008056438.tif 000009
【図８】
2008056438.tif 000010
【図９】
2008056438.tif 000011
【図１０】
2008056438.tif 000012
【図１１】
2008056438.tif 000013
【図１２】
2008056438.tif 000014
【図１３】
2008056438.tif 000015
【図１４】
2008056438.tif 000016
【図１５】
2008056438.tif 000017
【図１６】
2008056438.tif 000018
【図１７】
2008056438.tif 000019
【図１８】
2008056438.tif 000020
【図１９】
2008056438.tif 000021
【図２０】
2008056438.tif 000022
【図２１】
2008056438.tif 000023
【図２２】
2008056438.tif 000024
【図２３】
2008056438.tif 000025
【手続補正書】
【提出日】平成20年2月26日(2008.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、
第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、
第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段と、を備える計算機システム。
【請求項４】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、
第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、
第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段と、を備える計算機システム。
【請求項５】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする請求項３または４記載の計算機システム。
【請求項６】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバへの以降のデータベース処理要求の投入を停止することを特徴とする請求項３または４記載の計算機システム。
【請求項７】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバおよび新データベースサーバに対して行ったデータベース処理要求を取り消し、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラムに返却することを特徴とする請求項３または４記載の計算機システム。
【請求項８】
前記データベース接続手段は、第１のモードの処理において、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバに対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語を第２のデータベース操作言語に変換するための変換情報を変更した後、該変更後の変換情報を用いて元のデータベース処理要求を第２のデータベース操作言語に変換し、さらに新データベースサーバに適したデータベース依存のプロトコルに変換して新データベースサーバに投入し、得られた新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して旧データベースサーバのデータ処理結果と比較検証することを特徴とする請求項４記載の計算機システム。
【請求項９】
第１のモードの処理中に、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなくなる確率が低下したことを検出して、第２のモードへ切り替える切り替え手段を備えることを特徴とする請求項８記載の計算機システム。
【請求項１０】
前記データベース接続手段は、
前記アプリケーションプログラムから発行されたデータベース処理要求のデータベース操作言語を第２のデータベース操作言語に変換する仕様変換手段と、
データベース処理要求のプロトコルを新データベースサーバに適するデータベース依存のプロトコルに変換し、新データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する新プロトコル変換手段と、
データベース処理要求のプロトコルを旧データベースサーバに適するデータベース依存のプロトコルに変換し、旧データベースサーバのデータ処理結果のプロトコルをデータベース非依存のプロトコルに変換する旧プロトコル変換手段と、
データベース非依存のプロトコルに変換された新データベースサーバおよび旧データベースサーバのデータ処理結果どうしを比較検証する検証手段と、
前記検証手段の比較検証結果を出力する出力手段と、
第１のモードと第２のモードのうち指定されたモードによる処理を制御する制御手段と、を備えることを特徴とする請求項３または４記載の計算機システム。
【請求項１１】
（削除）
【請求項１２】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、を備えた計算機システムにおけるデータベースアクセス方法であって、
データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、他方のデータベース処理要求を前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、
該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、
第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とするデータベースアクセス方法。
【請求項１３】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動する１以上のアプリケーションサーバと、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバと、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバと、を備えた計算機システムにおけるデータベースアクセス方法であって、
データベース接続手段が、第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、
一方のデータベース処理要求を前記旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、
他方のデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、
該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、
第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却することを特徴とするデータベースアクセス方法。
【請求項１４】
（削除）
【請求項１５】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、
第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、
一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、
他方のデータベース処理要求を、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、
該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、
第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えるアプリケーションサーバ。
【請求項１６】
第１のデータベース操作言語に準拠したデータベース処理要求をデータベース非依存のプロトコルに従って発行するアプリケーションプログラムが稼動するアプリケーションサーバであって、
第１のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を多重化し、
一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入し、
他方のデータベース処理要求を、第２のデータベース操作言語に変換した後、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記旧データベースサーバおよび前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力するとともに、データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却し、
第２のモードが指定された場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入し、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却するデータベース接続手段を備えるアプリケーションサーバ。
【請求項１７】
（削除）
【請求項１８】
コンピュータに、
第１のモードが指定されている場合、第１のデータベース操作言語に準拠し且つデータベース非依存のプロトコルに従ってアプリケーションプログラムから発行されたデータベース処理要求を多重化する第１の処理と、
一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入する第２の処理と、
他方のデータベース処理要求を、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第３の処理と、
旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力する第４の処理と、
データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却する第５の処理と、を行わせ、
第２のモードが指定されている場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第６の処理と、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却する第７の処理と、を行わせるためのプログラム。
【請求項１９】
コンピュータに、
第１のモードが指定されている場合、第１のデータベース操作言語に準拠し且つデータベース非依存のプロトコルに従ってアプリケーションプログラムから発行されたデータベース処理要求を多重化する第１の処理と、
一方のデータベース処理要求を、第１のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける旧データベースサーバに適するデータベース依存のプロトコルに変換して旧データベースサーバに投入する第２の処理と、
他方のデータベース処理要求を、第２のデータベース操作言語に変換した後、第２のデータベース操作言語に準拠したデータベース処理要求をデータベース依存のプロトコルに従って受け付ける新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第３の処理と、
旧データベースサーバおよび新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して比較検証し、該比較検証結果を出力する第４の処理と、
データベース非依存のプロトコルに変換された前記旧データベースサーバのデータ処理結果を前記アプリケーションプログラムに返却する第５の処理と、を行わせ、
第２のモードが指定されている場合、前記アプリケーションプログラムから発行されたデータベース処理要求を第２のデータベース操作言語に変換した後、前記新データベースサーバに適するデータベース依存のプロトコルに変換して新データベースサーバに投入する第６の処理と、
前記新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して前記アプリケーションプログラムに返却する第７の処理と、を行わせるためのプログラム。
【請求項２０】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバへの以降のデータベース処理要求の投入を停止する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２１】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、新データベースサーバへの以降のデータベース処理要求の投入を停止する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２２】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、元のデータベース処理要求がデータを変更する要求であれば、旧データベースサーバおよび新データベースサーバに対して行ったデータベース処理要求を取り消し、データベース処理が実行されなかった旨のデータ処理結果をアプリケーションプログラムに返却する処理を行わせることを特徴とする請求項１８または１９記載のプログラム。
【請求項２３】
前記コンピュータに、前記第４の処理における比較検証の結果、旧データベースサーバおよび新データベースサーバのデータ処理結果が一致しなかった場合、新データベースサーバに対して行ったデータベース処理要求を必要に応じて取り消し、第１のデータベース操作言語を第２のデータベース操作言語に変換するための変換情報を変更した後、該変更後の変換情報を用いて元のデータベース処理要求を第２のデータベース操作言語に変換し、さらに新データベースサーバに適したデータベース依存のプロトコルに変換して新データベースサーバに投入し、得られた新データベースサーバのデータ処理結果をデータベース非依存のプロトコルに変換して旧データベースサーバのデータ処理結果と比較検証する処理を行わせることを特徴とする請求項１９記載のプログラム。
【国際調査報告】
2008056438.tif 000026
2008056438.tif 000027
2008056438.tif 000028
2008056438.tif 000029