The OpenESQL preprocessor provides two preprocessor options - ODBC for native code and 
               		JDBC for JVM COBOL code. 
               	 
            
 
            	 
             
               		 
               		  
               - ODBC 
                  		  
               
- Use OpenESQL with the ODBC option to compile your native applications. This option: 
                  			 
                   
                     				
                     - Is invoked using the SQL(DBMAN=ODBC) compiler directive 
                        				
                     
- Uses any ODBC drivers and data providers 
                        				
                     
- Connects to one or more ODBC data sources 
                        				
                     
- Compiles applications to communicate with the OpenESQL ODBC Runtime 
                        				
                     
- Enables maximum interoperability between different database systems 
                        				
                     
- Provides comprehensive support for pessimistic (locking) concurrency control 
                        				
                     
- Does not support disconnected or offline DataSets 
                        				
                     
 
- JDBC 
                  		  
               
-  Use OpenESQL with the JDBC option to compile your JVM COBOL applications. This option: 
                  			 
                   
                     				
                     - Is invoked using the SQL(DBMAN=JDBC) compiler directive 
                        				
                     
- Uses any of several JDBC drivers 
                        				
                     
- Can connect to one JDBC Data Source using either a JDBC Connection String or a JDBC DataSource Object. 
                        				
                     
- When connecting with a JDBC DataSource Object, enables you to connect to your Java data source for compilations with the SQL
                        CHECK directive (this simulates OpenESQL DSNs with ODBC or ADO.NET) 
                        				
                     
- Compiles applications to communicate with the OpenESQL JVM Managed Runtime 
                        				
                     
- Enables maximum interoperability between different database systems 
                        				
                     
- Provides support for pessimistic and optimistic (locking) concurrency control 
                        				
                     
- Supports dynamic SQL using PREPARE, EXECUTE and EXECUTE IMMEDIATE statements and cursors that use prepared statements, but
                        only with host variable lists in the EXECUTE and OPEN statements 
                        				
                     
-  Does not support disconnected or offline DataSets