Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:odbc:home [2011/01/11 23:09]
els created
dev:odbc:home [2016/06/28 22:38] (current)
Line 4: Line 4:
 ====== Development:​ ODBC Interface ====== ====== Development:​ ODBC Interface ======
  
-**[[dev:​odbc:​home|Overview]]** | [[dev:odbc:sample|ODBC Datasources]] | [[dev:odbc:sample|Sample Program]] ​+**[[dev:​odbc:​home|Overview]]** | [[dev:odbc:datasources|ODBC Datasources]] | [[dev:odbc:sample_c|Sample ​C# .NET Console ​Program]] ​| [[dev:​odbc:​sample_net|Sample C# .NET Windows Program]]  
  
 ---- ----
Line 11: Line 12:
 ===== Overview ===== ===== Overview =====
  
-The Omnidex ODBC driver ​is a compliant ODBC driver that provides ODBC access to Omnidex Environments. +The Omnidex ODBC Driver ​is a standard-compliant ODBC driver that provides ODBC access to Omnidex Environments. ​ ODBC is most commonly found in Microsoft Windows environment;​ howeverit can also be found on UNIX platforms through available ODBC projects ​such as unixODBC Omnidex'​s ODBC Driver ​is available ​on both Microsoft ​Windows ​and Linux operating systems.
- +
-Omnidex provides an ODBC driver for Windows client / server (any supported server) applications. The Omnidex ODBC driver ​is based on the SQL 2 standard, with most of the standard SQL functionality supported, as well as some additional, Omnidex specific, functionality. +
- +
-The Omnidex ODBC driver is used for applications using the ODBC CLI (Call Level Interface) with variety of programming languages including CC++, Visual Basic (ADO) and Cold Fusion. +
- +
-It is also used by third party container applications ​such as Cognos Impromptu, Seagate Crystal Reports, and Microsoft'​s Access, Excel, Word, and Query. +
- +
-==== Omnidex ​ODBC CLI ==== +
- +
-Microsoft's ODBC is a database-independent callable API suite originally developed to standardize database access ​on Windows operating ​system. ODBC eliminated the need to write customer drivers for each database system and provided database vendors a means to support a broader range of application programs. +
- +
-The SQL/Call Level Interface (SQL/CLI) was developed using Microsoft'​s ODBC standard as a starting point, and modified to create an official ANSI/ISO standard. Microsoft has since devolved ODBC to conform to the official SQL/CLI standard, and expanded support to create ODBC/CLI, which has become a very widely supported standard. +
- +
-Virtually all SQL-based database ​systems ​provide an ODBC/CLI interface as one of their supported interfaces, and some DBMS brands have adopted ODBC/CLI as their standard database API. +
- +
-Thousands of application programs support ODBC/CLI, including all of the leading programming tools packages, query- and forms-processing tools and report writers, and popular productivity software such as spreadsheets and graphics programs. +
- +
-==== Call-Level Interface (CLI) Function Calls ==== +
- +
-The call-level interface (CLI) is a collection of application programming interface (API) calls developed for database access that use function calls to invoke dynamic SQL The important difference between the Omnidex ODBC CLI and the CLI developed by other database vendors is that the Omnidex ODBC CLI will work on any platform and against any database supported by Omnidex. It does not use the Microsoft Driver Manager and can, therefore, be used on a non-Windows machine like Unix or an HP3000 (HP3000 is no longer supported as of Omnidex version 4.0). +
- +
-Every Omnidex ODBC CLI application must begin by obtaining a handle for the environment and then a handle for the database connection. Memory is allocated for these handles and the information they store. A statement handle, used for processing SQL statements, will be obtained later in the application. Every subsequent CLI call will be passed one of these three handles. +
- +
-The environment handle must be the first handle established. It refers to the data object that contains global information about the current state of the application. The program allocates this handle by calling the SQLAllocEnv() CLI function call. Only one environment handle can be allocated per application,​ and it must be allocated before connection handles can be allocated.+
  
-The connection handle must be established after the environment handle, but prior to any other CLI function calls. It refers ​to a data object that contains information associated with a database connection. This data object includes general status information ​and diagnostic information. The program allocates each connection handle by calling the SQLAllocConnect() CLI function call, and must allocate a connection handle for each connection it makes to a database serverThese connection handles are then used to establish database connections ​and allocate SQL statement handles for use within those connections.+The Omnidex ODBC Driver allows standardized access ​to Omnidex Environments from multitude of third party tools and applicationssuch as Business Objects, Impromptu, MicroStrategy ​and Informatica ODBC also provides access ​to common office tools, such as Microsoft Access, Excel and Word.  Custom applications can also access Omnidex Environments using the standard ODBC API calls 
  
-The statement handles refers to a data object that contains information about an SQL statementThis data object includes information such as the SQL statement text, any dynamic SQL statement arguments, cursor information,​ bindings for dynamic SQL statement arguments and columns, result values, and status informationA program allocates a statement handle by calling ​the SQLAllocStmt() CLI function call; a statement handle must be allocated for an SQL statement before that SQL statement can be executed. Alsoeach allocated statement handle must be associated with a specific database connection handleThe maximum number of statement handles that can be allocated at any one time is limited only by the amount of available system resources (usually stack space).+The Omnidex ODBC Driver is based on the Version 2.0 of the ODBC standard. ​ If you are using Version 3.5 of the ODBC standardcalls will automatically ​be downgraded to Version 2.0.
  
-==== Cursors ==== 
  
-It is not necessary for an ODBC CLI application to implicitly open cursors. Each time the SQLAllocStmt method is called, the Omnidex ​ODBC driver calls oaopencursor. Each HSTMT object created ​with SQLAllocStmt,​ has its own cursor and should therefore, be considered a cursor itself.+===== Integrating ​Omnidex with Third-Party Applications =====
  
-Switching between cursors ​is simply a matter of referring to the different HSTMT objects in the ODBC application.+The Omnidex ODBC Driver allows easy integration with many third-party applications. ​ Integration ​is usually as simple as providing ​the third-party ​application ​with an appropriate [[dev:​connections:​home|connection string]] to point to the existing Omnidex Environment.
  
-As noted above, it is not necessary for an ODBC CLI application ​to implicitly open cursorsHoweverit is possible to do so by using an OPEN CURSOR ​statement. ​The OPEN CURSOR statement is passed through an HSTMT object in the same manner as any SQL statement ​that does not return a result data set.+Omnidex automatically optimizes SQL statements ​to provide the best performance ​Nonethelessthere are times when the wording and structure of a SQL statement ​can affect performance Each third-party application will use its own method of wording and structuring ​the SQL statement, and not all approaches generate the best performance 
  
-To use a cursor ​that was opened implicitly through an OPEN CURSOR statementa SQL statement must append an ON CURSOR n clause ​to the end of the statement.+Some tools allow configuration options that alter the wording or structure of the SQL that they use.  If you find that you are not obtaining satisfactory performanceyou may be able to use these configuration options to improve ​the wording ​of the SQL statement, and therefore improve the performance.
  
-Use a CLOSE CURSOR statement to close cursors that were implicitly opened ​with the OPEN CURSOR statement.+Omnidex is often used with third-party packages, but Omnidex is not regularly tested with each and every third-party package. ​ If you have difficulty integrating Omnidex with a particular third-party package, please contact [[appendix:​contactus|Technical Support]].
  
 =====  ===== =====  =====
  
-**[[dev:​odbc:​sample|Next]]**+**[[dev:​odbc:​datasources|Next]]**
  
 ====== Additional Resources ====== ====== Additional Resources ======
Line 61: Line 37:
 See also:  See also: 
  
-{{page>:​dev:see_also:​see_also&​nofooter&​noeditbtn}}+{{page>:​dev:​see_also&​nofooter&​noeditbtn}}
  
 {{page>:​bottom_add&​nofooter&​noeditbtn}} {{page>:​bottom_add&​nofooter&​noeditbtn}}
  
 
Back to top
dev/odbc/home.1294787390.txt.gz · Last modified: 2016/06/28 22:38 (external edit)