contentsconceptssyntaxlibrariessampleserrorsindex
Full text search
Migrating from OMODBC 1.0 to OMODBC 2.0  
------  

The OMODBC 2.0 library extends the existing library by adding all the new functionality that was introduced in ODBC 3.0. The next biggest change between the OMODBC versions 1.0 and 2.0 is the introduction of opaque variables into the OmniMark language. The OMODBC 2.0 library defines three opaque data types that are used in the ODBC functions. These new opaque types are:

  1. SQL_Handle_type,
  2. SQL_Array_type, and
  3. SQL_Vector_type.

The SQL_Handle_type replaces the counter-type variables used in version 1.0 to represent environment, connection and statement handles. Usage of the opaque data type allows for better type-checking in calls to the OMODBC functions.

The SQL_Array_type and SQL_Vector_type replace the MemoryBlock counters used in version 1.0. These opaque data types allow better function type-checking and reduce memory access violations and leaks.

Obsolete Functions

The following functions are no longer available in the OMODBC library. The list of replacement functions is also presented.

  OBSOLETE FUNCTION                ALTERNATE
  ----------------------------     --------------------------
  HSQLAllocMemoryBlock             SQLSetArraySize
                                   SQLSetVectorSize

  HSQLCopyCounterToMemoryBlock     SQLSetArrayAsCounter
                                   SQLSetArrayAsCounterShelf
                                   SQLSetVectorAsCounter

  HSQLCopyMemoryBlockToCounter     SQLGetArrayAsCounter
                                   SQLGetArrayAsCounterShelf
                                   SQLGetVectorAsCounter

  HSQLCopyStreamToMemoryBlock      SQLSetArrayAsStream
                                   SQLSetArrayAsStreamShelf
                                   SQLSetArrayAsString
                                   SQLSetVectorAsStream
                                   SQLSetVectorAsString

  HSQLCopyMemoryBlockToStream      SQLGetArrayAsStream
                                   SQLGetArrayAsStreamShelf
                                   SQLGetArrayAsString
                                   SQLGetVectorAsStream
                                   SQLGetVectorAsString

  HSQLFreeMemoryBlock              none

Modified Functions

The introduction of the opaque types into the OmniMark language and OMODBC library has resulted in data type changes in the OMODBC functions. In general, these changes can be summarized in the following table:

  VERSION 1.0 DATA TYPE      VERSION 2.0 DATA TYPE
  ---------------------      ---------------------
  counter (henv)             SQL_Handle_type
  counter (hdbc)             SQL_Handle_type
  counter (hstmt)            SQL_Handle_type
  counter (MemoryBlock)      SQL_Array_type or SQL_Vector_type

The following table presents the list of all the OMODBC 1.0 functions and all affected arguments.

  FUNCTION             VER 1.0 TYPE   VER 1.0 ARG VER 2.0 TYPE
  --------             ------------   ----------- ------------

  SQLAllocConnect      counter        henv        SQL_Handle_type
                       counter        hdbc        SQL_Handle_type

  SQLAllocEnv          counter        henv        SQL_Handle_type

  SQLAllocStmt         counter        hdbc        SQL_Handle_type
                       counter        hstmt       SQL_Handle_type

  SQLBindCol           counter        hstmt       SQL_Handle_type
                       counter        rgbValue    SQL_Array_type
                       counter        pcbValue    SQL_Array_type

  SQLBindParameter     counter        hstmt       SQL_Handle_type
                       counter        rgbValue    SQL_Array_type
                       counter        pcbValue    SQL_Array_type

  SQLBrowseConnect     counter        hdbc        SQL_Handle_type

  SQLCancel            counter        hstmt       SQL_Handle_type

  SQLColAttributes     counter        hstmt       SQL_Handle_type

  SQLColumnPrivileges  counter        hstmt       SQL_Handle_type

  SQLColumns           counter        hstmt       SQL_Handle_type

  SQLConnect           counter        hdbc        SQL_Handle_type

  SQLDataSources       counter        henv        SQL_Handle_type

  SQLDescribeCol       counter        hstmt       SQL_Handle_type

  SQLDescribeParam     counter        hstmt       SQL_Handle_type

  SQLDisconnect        counter        hdbc        SQL_Handle_type

  SQLDriverConnect     counter        hdbc        SQL_Handle_type
                       counter        hwnd        SQL_Handle_type

  SQLDrivers           counter        henv        SQL_Handle_type

  SQLError             counter        henv        SQL_Handle_type
                       counter        hdbc        SQL_Handle_type
                       counter        hstmt       SQL_Handle_type

  SQLExecDirect        counter        hstmt       SQL_Handle_type

  SQLExecute           counter        hstmt       SQL_Handle_type

  SQLExtendedFetch     counter        hstmt       SQL_Handle_type
                       counter        rgfRowStatus SQL_Array_type

  SQLFetch             counter        hstmt       SQL_Handle_type

  SQLForeignKeys       counter        hstmt       SQL_Handle_type

  SQLFreeConnect       counter        hdbc        SQL_Handle_type

  SQLFreeEnv           counter        henv        SQL_Handle_type

  SQLFreeStmt          counter        hstmt       SQL_Handle_type

  SQLGetConnectOption  counter        hdbc        SQL_Handle_type
                       counter        pvParam     SQL_Vector_type

  SQLGetCursorName     counter        hstmt       SQL_Handle_type

  SQLGetData           counter        hstmt       SQL_Handle_type

  SQLGetFunctions      counter        hdbc        SQL_Handle_type
                       counter        fExists     SQL_Array_type

  SQLGetInfo           counter        hdbc        SQL_Handle_type
                       counter        rgbInfoValue SQL_Vector_type

  SQLGetStmtOption     counter        hstmt       SQL_Handle_type
                       counter        pvParam     SQL_Vector_type

  SQLGetTypeInfo       counter        hstmt       SQL_Handle_type

  SQLMoreResults       counter        hstmt       SQL_Handle_type

  SQLNativeSql         counter        hdbc        SQL_Handle_type

  SQLNumParams         counter        hstmt       SQL_Handle_type

  SQLNumResultCols     counter        hstmt       SQL_Handle_type

  SQLParamOptions      counter        hstmt       SQL_Handle_type

  SQLPrepare           counter        hstmt       SQL_Handle_type

  SQLPrimaryKeys       counter        hstmt       SQL_Handle_type

  SQLProcedureColumns  counter        hstmt       SQL_Handle_type

  SQLProcedures        counter        hstmt       SQL_Handle_type

  SQLPutData           counter        hstmt       SQL_Handle_type

  SQLRowCount          counter        hstmt       SQL_Handle_type

  SQLSetConnectOption  counter        hdbc        SQL_Handle_type
                       counter        vParam      SQL_Vector_type

  SQLSetCursorName     counter        hstmt       SQL_Handle_type

  SQLSetPos            counter        hstmt       SQL_Handle_type

  SQLSetScrollOptions  counter        hstmt       SQL_Handle_type

  SQLSetStmtOption     counter        hstmt       SQL_Handle_type
                       counter        vParam      SQL_Vector_type

  SQLSpecialColumns    counter        hstmt       SQL_Handle_type

  SQLStatistics        counter        hstmt       SQL_Handle_type

  SQLTablePrivileges   counter        hstmt       SQL_Handle_type

  SQLTables            counter        hstmt       SQL_Handle_type

  SQLTransact          counter        henv        SQL_Handle_type
  	             counter        hdbc        SQL_Handle_type

As well, a few functions have an added parameter to help identify the type of data contained in the SQL_Vector_type argument. This requirement is caused by the ODBC function requirement that the data in the SQL_Vector_type argument may be passed by value or by reference. All of the underlying ODBC API functions have been deprecated and use of the replacement functions is recommended. The affected functions are listed in the following table along with their replacements:

  FUNCTION                ADDED ARG      REPLACEMENT FUNCTION
  --------                ---------      --------------------

  SQLGetStmtOption        ValueType      SQLGetStmtAttr

  SQLSetConnectOption     ValueType      SQLSetConnectAttr

  SQLSetStmtOption        ValueType      SQLSetStmtAttr

------  
----  

Top [CONTENTS] [CONCEPTS] [SYNTAX] [LIBRARIES] [SAMPLES] [ERRORS] [INDEX]

Generated: April 21, 1999 at 2:01:35 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-1999.