Developing Portable Applications
Introduction
In This Guide
System-specific Text in this Guide
Audience
Gateway Components
OpenSQL Common Dialect
Standard Catalog Interface
General Communication Facility (GCF)
Relational Data Source Support
SQL Access to Data Sources
OpenSQL Requirements
Supported User Interfaces
OpenROAD
Embedded SQL and OpenAPI
ODBC Driver
JDBC Driver
.Net Data Provider
Unsupported User Interfaces
Character-Based Tools
Achieving Transparency and Portability
OpenSQL Extensions
Supported Gateway Statements
Direct Execute Immediate
Statement Restrictions
Select... With
Clause Restrictions
Examples--WITH NATIVE SELECT
Microsoft SQL Server Statements
Oracle Server Statements
Statement Restrictions — Oracle
ODBC Statements
Repeated Queries
Repeated Query Format
DBMS Limitations with Derived Tables
Supported Syntax
Column Override List
Parentheses in Tablename Area Without a Subselect
Correlation Names
Subquery in FROM clause Has ORDER BY Clause
Host Variables in Select List of a Subquery Not Supported
Delete and Update Limitations
Deeply Nested Selects Limited in Microsoft SQL
Enterprise Access Behaviors
Default Century
Length Specifiers
DDL Recovery
SET Statements
Application Considerations
Database Name Case Sensitivity
Determine Database Case
Database Name Cases by DBMS
Data Type Limits
Char(n) Data Type
Microsoft SQL Server
ODBC
Varchar(n) Data Type
Embedded Nulls
Microsoft SQL Server
Nvarchar(n) Data Type
Nchar(n) Data Type
Oracle
How String Comparisons Differ in Oracle
How Empty Strings are Processed
Portability with OpenSQL String Type Casts
Long Varchar and Long Byte Data Types
Oracle Gateway Only
Data Handlers
Restrictions on LOB Manipulation
Date Data Type
How Dates Can Be Sent to the Gateway
Valid Date Formats
Supported Date Data Type Formats
Date Constants
Date Function
Null Indicator
Date Interval
Date Range
Date without Time Component
Date Empty Strings
How Empty Dates Are Processed
Time Zone Adjustment Behavior
Year 2000 Support
Numeric Data Types
Numeric Literals
Oracle
Microsoft SQL Server
Money Data Type
Decimal Data Type
SET Statement Support
Database Events (Oracle)
Owner Names with Database Events
Database Event Name Restrictions
Database Event Text Restrictions
Transactions with Database Events
GRANT/REVOKE of DBEvents
Database Events and Oracle Stored Database Procedures
Error Conditions
Implementation Differences
OpenSQL Statements
SQL Statements
Tables
Create View Statement
Copy Table Support
Collation Sequence
Object Name Length
Table and Column ID Length
Dynamic Parameters
Locking Strategies
Multi-statement Transactions
UNION ALL Ordering
UNION — Derived Result Column Name
UNION of Select First N
Unsupported Features
Ingres Statements
Ingres Tools and Utilities
Ingres OpenSQL Unsupported Features
Gateway-specific Unsupported Features
Gateway Database Procedures
Database Procedure Interface
Benefits of Database Procedures
Gateway Database Procedure SQL Statements
Database Procedure Management
Register Procedure
Remove Procedure
Execute Procedure
How to Create Stored Database Procedures from Ingres Clients
Table Definitions for Examples
Microsoft SQL Server Stored Procedure Example
Oracle Stored Procedure Example
How to Register and Invoke Database Procedures with BYREF Parameters
Table Definitions for BYREF Examples
Microsoft SQL Server BYREF Stored Procedure Example
Oracle BYREF Stored Procedure Example
How to Register and Invoke Row Returning Database Procedures
Table Definitions for Row Returning Examples
Microsoft SQL Server Row Returning Database Procedure Example
Oracle Row Returning Database Procedure Example
C. Data Type Mapping
Microsoft SQL Server Gateway
Client Data Type Mapping to Microsoft SQL Server Data Type Mapping
Microsoft SQL Server Data Type Mapping to Client Data Type Mapping
Oracle Gateway
Client Data Type Mapping to Oracle Data Type Mapping
Oracle Data Type Mapping to Client Data Type Mapping
ODBC Gateway
D. Function Mapping
Translating Ingres Functions to Host Functions
Mapping OpenSQL Functions to Host Functions
Microsoft SQL Server Gateway
Oracle Gateway
Developing Portable Applications
Oracle Gateway