Stored Procedure Translator for Cross-DBMS Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational database application developers face challenges in integrating stored procedures from different database management systems (DBMS) due to their specific nature, preventing native stored procedures from one DBMS from calling procedures from another.

Innovation Solution

A system and method that automatically generates a local stored procedure to call and execute a remote stored procedure, mapping input values and data types to ensure compatibility between different DBMS, allowing data to be returned and transformed for use in the local environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If stored procedures are specific to a particular DBMS to maintain pre-compilation advantages, then execution efficiency and DBMS optimization are improved, but compatibility with other DBMS types deteriorates

Engineering Contradiction:
Improvestored procedure execution reliabilityVSAvoidcross-DBMS compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a stored procedure translator as an intermediary component that receives stored procedure calls from a first DBMS, translates them into equivalent calls for a second DBMS, and executes them there. This translator mediates between the two DBMS environments, allowing stored procedures to be executed across different DBMS types while preserving the pre-compilation advantages of each specific DBMS. The translator handles the incompatibility by converting procedure calls, parameters, and results between different DBMS dialects without requiring changes to the original stored procedures in either system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If automatic translation of stored procedures between DBMS is implemented to improve compatibility, then cross-DBMS integration is improved, but system complexity increases

Engineering Contradiction:
Improvecross-DBMS compatibilityVSAvoidtranslation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the remote stored procedure functionality within the local DBMS environment through the translator. Instead of physically moving or modifying the actual stored procedure code between DBMS systems, the translator creates a virtual representation that mimics the remote procedure's behavior. This virtual copy approach allows the system to maintain compatibility across different DBMS types without the complexity of deep code analysis, transformation, and regeneration. The translator essentially copies the interface and behavior of the remote procedure while handling the actual translation and execution logistics.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7739296B2System and method for virtualization of relational stored procedures in non-native relational database systems
Publication Date: 2010.06.15 X CORP
  • US7739296B2 patent drawing
  • US7739296B2 patent drawing
  • US7739296B2 patent drawing

AI summary

A system, method, and program product are provided that identifies a remote stored procedure stored in a remote database management system, and automatically generates a local stored procedure stored in a local database management system. To automatically generate the local stored procedure, local and remote metadata are gathered corresponding, respectively, to a local database management system and a remote database management system. The remote metadata is used to create a call statement to the remote stored procedure. The created invocation method maps input values, input to the local stored procedure, to input parameters of the remote stored procedure. Results in the local stored procedure are set by mapping the data returned from the remote stored procedure to the corresponding return values (e.g., parameters and result sets) in the local stored procedure values.