In a computer system on which an application that performs information processing together with a DBMS runs, for the purpose of improving performance or the like of the system, the DBMS is migrated from an old DBMS to a new DBMS in some cases. Hereinafter, this kind of migration method will be described with reference to the accompanying drawings.
An old system 1100 that is shown on the left half of FIG. 22 shows an example of the configuration of a computer system that uses an old DBMS 1121, and includes an old application server 1110 and an old database server 1120.
The old application server 1110 includes an application 1111 that performs information processing and a DB connection middleware 1112 that connects the application 1111 to the DBMS 1121.
The DB connection middleware 1112 includes an interface 1113 as an interface of a protocol that does not depend on a database (hereinafter, also referred to as database independent protocol or standard protocol), and an old DB protocol converting unit 1114 that converts the standard protocol into a unique protocol for the old DBMS 1121 (hereinafter, also referred to as database dependent protocol).
The old database server 1120 includes a storage that accumulates old format data 1122 necessary when the application 1111 performs processing, and an old DBMS 1121 that manages the old format data 1122.
The computer system that has the above-described configuration operates as follows.
The application 1111 is connected to the old DBMS 1121 through the DB connection middleware 1112 as necessary and issues data processing request.
The old DBMS 1121 performs data processing using the managed old format data 1122 in accordance with the data processing request to produce a result as a data processing result, and returns the data processing result to the application 1111 through the DB connection middleware 1112.
The application 1111 performs information processing using the data processing result of the old DBMS 1121.
It is assumed in the following description, in the above-described old system 1100, the old DBMS 1121 having been used so far is migrated to the new DBMS 1221 that has a data management format and a protocol different from those of the old DBMS 1121, and the old system 1100 is thus migrated to a new system 1200.
The new system 1200 shows an example of the configuration of a computer system that uses the new DBMS 1221, and includes a new application server 1210 and a new database server 1220.
The new application server 1210 includes an application 1211 that performs information processing, and a DB connection middleware 1212 that connects the application 1211 to the new DBMS 1221.
The DB connection middleware 1212 includes an interface 1213 as an interface of a protocol that does not depend on a database (hereinafter, also referred to as database independent protocol or standard protocol), and a new DB protocol converting unit 1214 that converts the standard protocol into a unique protocol for the new DBMS 1221 (hereinafter, also referred to as database dependent protocol).
The new database server 1220 includes a storage that accumulates new format data 1222 necessary when the application 1211 performs processing, and a new DBMS 1221 that manages the new format data 1222.
First, since the old DBMS 1121 and the new DBMS 1221 are different from each other in data management format, the old format data 1122 cannot be managed in the new DBMS 1221. For this reason, the old format data 1122 needs to be converted into the new format data 1222 having a format that the new DBMS 1221 can manage. This can be realized by using a data conversion tool that is provided by a database vendor or the like.
Further, since the protocols that are connected to the DBMS are different from each other in the old DBMS 1121 and the new DBMS 1221, the application 1111 that is connected to the old DBMS 1121 cannot be connected to the new DBMS 1221 as it is. This problem can be solved by using the DBMS connection middleware 1212. The DB connection middleware is a middleware that hides a difference of the protocols by virtualizing a unique connection method for each DBMS and enables the application to be connected to the DBMS by the standard protocol. Specifically, the DB connection middleware provides the standard interface to the application, converts the data processing request that the application issues through the standard interface from its protocol into the unique protocol for each DBMS, and issues the data processing request to the DBMS. By replacing a function of converting a protocol into the unique protocol for each DBMS in a library, the DB connection middleware is compatible with various kinds of DBMSs.
As the DB connection middleware, an ODBC (Open DataBase Connectivity), a JDBC (Java (registered trademark) DataBase Connectivity) and the like are known.
In recent years, an application is not directly connected to the DBMS, but is generally connected to the DBMS though the DB connection middleware. For this reason, the application 1111 can be connected to the new DBMS by only replacing the old DB protocol converting unit 1114 with the new DB protocol converting unit 1214.
However, when a content of the data processing request issued by the application 1111, that is, an SQL (Structured Query Language) or the like that defines a data operation is unique to the old DBMS 1121 even though the application can be connected to the new DBMS 1221 in the protocol, the SQL cannot be interpreted in the new DBMS 1221. Therefore, it is not possible to process the request.
In the SQL, since the standard specification is defined in the basic portion such as ISO SQL92 and the like, the protocol conversion is logically made. If the application can be connected to the DBMS, the data processing can be performed without causing a problem. However, actually, in the SQL, an original specification expansion for each DBMS is much made, and the unique SQL for each DBMS using the original specification is generally used in the actual work in many cases. For this reason, at the time of migration of the database, the SQL for the old DBMS that is issued by the application needs to be converted into an SQL for the new DBMS.
As an example of a technology for converting an SQL, a technology that is disclosed in Patent Document 1 or the like is known. The SQL that is issued by the application is generally subjected to hard coding in a source code of the application. Accordingly, in the technology that is disclosed in Patent Document 1, the source code is scanned and a portion that generates the SQL for the old DBMS is rewritten so as to generate the SQL for the new DBMS.
As another technology for converting an SQL, a technology that is disclosed in Patent Document 2 or the like is known. In the technology that is disclosed in Patent Document 2, when the application is created, an SQL portion that generates the SQL is created separately from a source code that realizes another function. Since the SQL portion is separated, setting can be made so as to easily generate the SQL for the new DBMS without searching the SQL portion in the source code.
As another technology for converting an SQL, a technology that is disclosed in Patent Document 3 or the like is known. Referring to FIG. 23, in the technology that is disclosed in Patent Document 3, a relay device 2200 is provided between a group of application servers 2100-1, 2100-2, . . . , and 2100-n, and a new database server 2300 that includes a storage which accumulates new format data 2320 and a new DBMS 2310 which manages the new format data 2320. The relay device 2200 converts the SQL for the old DBMS issued by the application 2110 into the SQL for the new DBMS. According to this technology, it is possible to perform an SQL conversion without changing the application itself.    [Patent Document 1] Japanese Patent Application Laid-Open (JP-A) No. 2000-181697    [Patent Document 2] Japanese Patent Application Laid-Open (JP-A) No. 2000-347910    [Patent Document 3] Japanese Patent Application Laid-Open (JP-A) No. 2000-259466