Query language execution on heterogeneous database servers using a bind-file bridge between application and database languages
First Claim
1. A method for accessing a server database in a database computing system in response to a request by an application program executing in an application computing system which is separate and remote from, and which uses a different language than, the database computing system, wherein a communications facility is connected to the application computing system and to the database computing system and the application computing system, and wherein the application computing system includes access means for providing application programs executing at the application computing system with an interface to the database computing system, the access means including:
- preprocessor means for analyzing application programs which are in a first computing language native to the application computing system and which contain database commands in a second computing language native to the database computing system;
bind means for binding database commands at the database computing system to the application computing system; and
database interface means for invoking execution of database commands at the database computing system;
the method comprising the steps of;
(a) using the access means at the application computing system, extracting database commands written in the second computing language from the application program, removing said database commands from the application program and inserting into the application program requests in the first computing language for execution of said database commands;
(b) using the bind means at the application computing system, placing the database commands in a bind file and transmitting said database commands in said bind file to the database computing system;
(c) at said database computing system, binding said database commands in said bind file to the application program;
(d) at said application computing system, compiling the application program, linking the application program to the database interface means, and executing the application program;
(e) during execution of the application program, transmitting a request for execution of a database command from the application computing system to the database computing system; and
(f) obtaining the database command from the bind file at the database computing system in response to the request for execution; and
(g) executing the database command at the database computing system.
2 Assignments
0 Petitions
Accused Products
Abstract
Application programs which are developed and scheduled within a first computing system environment are permitted to access relational data registered at a remote database management system (DBMS) operating in a second computing environment dissimilar to the first computing environment. Access to data through the DBMS from an application execution site remote from the DBMS is supported by a process, logically subordinate to the application program which maps application program data access requests to the DBMS.
177 Citations
13 Claims
-
1. A method for accessing a server database in a database computing system in response to a request by an application program executing in an application computing system which is separate and remote from, and which uses a different language than, the database computing system, wherein a communications facility is connected to the application computing system and to the database computing system and the application computing system, and wherein the application computing system includes access means for providing application programs executing at the application computing system with an interface to the database computing system, the access means including:
-
preprocessor means for analyzing application programs which are in a first computing language native to the application computing system and which contain database commands in a second computing language native to the database computing system; bind means for binding database commands at the database computing system to the application computing system; and
database interface means for invoking execution of database commands at the database computing system;the method comprising the steps of; (a) using the access means at the application computing system, extracting database commands written in the second computing language from the application program, removing said database commands from the application program and inserting into the application program requests in the first computing language for execution of said database commands; (b) using the bind means at the application computing system, placing the database commands in a bind file and transmitting said database commands in said bind file to the database computing system; (c) at said database computing system, binding said database commands in said bind file to the application program; (d) at said application computing system, compiling the application program, linking the application program to the database interface means, and executing the application program; (e) during execution of the application program, transmitting a request for execution of a database command from the application computing system to the database computing system; and (f) obtaining the database command from the bind file at the database computing system in response to the request for execution; and (g) executing the database command at the database computing system. - View Dependent Claims (2)
-
-
3. In a combination including an application program for execution on a first computer, a database management system for execution on a second computer which is separate and remote from the first computer, and a communications facility linking the first computer and second computer, wherein the first computer is provided with access means for interfacing the application program with the database management system, the access means including:
-
preprocessor means for analyzing application programs which are written in a first computing language and which contain database commands in a second computing language;
binding means for binding database commands in the second computing language to the application program at the second computer; anddatabase interface means for invoking execution of database commands at the second computer; a method providing the application program with access to a database controlled by the database management system, the method including the steps of; (a) using the preprocessor means at the first computer, removing database commands written in the second computing language from the application program and replacing said database commands in the application program with requests in the first computing language for execution of the database commands; (b) using the bind means at the first computer, placing the database commands in a bind file and transmitting the database commands in the bind file from the first computer to the second computer; (c) binding the database commands in the bind file to the application program in the database management system at the second computer; (d) at the first computer, compiling the application program and linking the application program to the database interface means; (e) executing the application program at the first computer and executing the database management system at the second computer; (f) during execution of the application program and the database management system, transmitting to the database management system a request from the application program for execution of a database command in the bind file; and (g) obtaining the database command from the bind file and executing the database command by the database management system at the second computer in response to the request from the application program. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. In a combination including an application program, a database manager, and a facility for providing communications between the application program and the database manager, a method for executing application program database commands at the database manager when the application program executes on a first digital computer and the database manager executes on a second digital computer separate and remote from the first digital computer, the method comprising the steps of:
-
at the first digital computer, prior to execution of the application program; providing a preprocessor means for analyzing application programs in a first computing language which include database commands in a database language; providing bind means for binding database commands in the database language to the application program at the second digital computer; and providing a set of database interface functions each of which corresponds to a respective database command and includes communication means for transmitting a request for execution of the respective database command to the database manager at the second digital computer; using the preprocessor means, removing database commands from the application program; using the preprocessor means, replacing the database commands in the application program with corresponding invocations of database interface functions in the first computing language; using the bind means, accumulating the database commands in a bind file; using the bind means, transmitting the bind file of database commands from the first digital computer to the database manager at the second digital computer; at the second digital computer, prior to execution of the application program, binding the bind file to the application program; compiling and linking the application program at the first digital computer to the database interface means; executing the application program at the first digital computer; during execution of the application program; (a) using the database interface means at the first digital computer, in response to an invocation in the application program, invoking a database interface function corresponding to a database command; (b) transmitting a request for execution of the database command from the database interface means at the first digital computer to the database manager at the second digital computer; and (c) at the database manager, in response to the request for execution, identifying the database command in the bind file, obtaining the database command from the bind file, and executing the database command at the second digital computer. - View Dependent Claims (12)
-
-
13. A mechanism for supporting remote execution of database language commands in a system including a first computing system for executing application programs in a first computing language which include database language commands in a second computing language and a second computing system for executing said database language commands, the mechanism including:
-
preprocessing means in the first computing system for; identifying database language commands in an application program in the first computing language; extracting said database language commands from the application program; generating for each database language command removed from the application program a tag which identifies the database language command; replacing first computing language host variables in database language commands removed from the application program with markers which identify a data format; and replacing database language programs extracted from the application program with invocations, each invocation including a tag identifying a database language command and one or more markers; bind file means in the first computing system and coupled to the preprocessing means for; building a bind file with a plurality of file entries, each file entry including a database language command extracted from an application program, together with a tag identifying the database language command and one or more markers corresponding to first computing language host variables removed from the database language command;
communicating the bind file to a remote database manager; andbinding the file at the remote database manager for execution of data base language commands; database interface means in the first computing system responsive to an invocation contained in an executing application program for; passing to a remote database manager executing in the second computing system a tag and one or more markers received in the invocation for execution of the database language command in a bind file at the remote database manager; receiving from the remote database manager variable values produced at the remote database manager during execution of the database language commands; and
passing the variable values to the application program; andmeans in the first computing system for compiling an application program, linking the application program to the database interface means, and executing the application program; and
means in the second computing system for executing the remote database manager.
-
Specification