Contents Index Choosing an ODBC connection function Setting connection attributes

ASA Programming Guide
  ODBC Programming
    Connecting to a data source

Establishing a connection


Your application must establish a connection before it can carry out any database operations.

To establish an ODBC connection

  1. Allocate an ODBC environment.

    For example:

    SQLHENV   env;
    SQLRETURN retcode;
    retcode = SQLAllocHandle( SQL_HANDLE_ENV,
      SQL_NULL_HANDLE, &env );
  2. Declare the ODBC version.

    By declaring that the application follows ODBC version 3, SQLSTATE values and some other version-dependent features are set to the proper behavior. For example:

    retcode = SQLSetEnvAttr( env,
      SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
  3. If necessary, assemble the data source or connection string.

    Depending on your application, you may have a hard-coded data source or connection string, or you may store it externally for greater flexibility.

  4. Allocate an ODBC connection item.

    For example:

    retcode = SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc );
  5. Set any connection attributes that must be set before connecting.

    Some connection attributes must be set before establishing a connection, while others can be set either before or after. For example:

    retcode = SQLSetConnectAttr( dbc,
       SQL_AUTOCOMMIT, 
       (SQLPOINTER)SQL_AUTOCOMMIT_OFF, 0 );

    For more information, see Setting connection attributes.

  6. Call the ODBC connection function.

    For example:

    if (retcode == SQL_SUCCESS 
        || retcode == SQL_SUCCESS_WITH_INFO) {
       printf( "dbc allocated\n" );
       retcode = SQLConnect( dbc,
          (SQLCHAR*) "ASA 9.0 Sample", SQL_NTS,
          (SQLCHAR* ) "DBA", SQL_NTS,
          (SQLCHAR*) "SQL", SQL_NTS );
       if (retcode == SQL_SUCCESS
             || retcode == SQL_SUCCESS_WITH_INFO){
       // successfully connected.

You can find a complete sample as Samples\ASA\ODBCConnect\odbcconnect.cpp in your SQL Anywhere directory.

Notes 

Contents Index Choosing an ODBC connection function Setting connection attributes