/* From CLI sample basiccon.c */ /* ... */ #include <stdio.h> #include <stdlib.h> #include <sqlcli1.h> /* ... */ SQLRETURN prompted_connect( SQLHANDLE henv, SQLHANDLE * hdbc); #define MAX_UID_LENGTH 18 #define MAX_PWD_LENGTH 30 #define MAX_CONNECTIONS 2 #define MAX_CONNECTIONS 2 /* extern SQLCHAR server[SQL_MAX_DSN_LENGTH + 1] ; extern SQLCHAR uid[MAX_UID_LENGTH + 1] ; extern SQLCHAR pwd[MAX_PWD_LENGTH + 1] ; */ int main( ) { SQLHANDLE henv; SQLHANDLE hdbc[MAX_CONNECTIONS] ; /* ... */ /* allocate an environment handle */ SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv ) ; /* Connect to first data source */ prompted_connect( henv, &hdbc[0] ) ; /* Connect to second data source */ prompted_connect( henv, &hdbc[1] ) ; /********* Start Processing Step *************************/ /* allocate statement handle, execute statement, etc. */ /********* End Processing Step ***************************/ printf( "\nDisconnecting .....\n" ) ; SQLDisconnect( hdbc[0] ) ; /* disconnect first connection */ SQLDisconnect( hdbc[1] ) ; /* disconnect second connection */ /* free first connection handle */ SQLFreeHandle( SQL_HANDLE_DBC, hdbc[0] ) ; /* free second connection handle */ SQLFreeHandle( SQL_HANDLE_DBC, hdbc[1] ) ; /* free environment handle */ SQLFreeHandle( SQL_HANDLE_ENV, henv ) ; return ( SQL_SUCCESS ) ; } /* prompted_connect - prompt for connect options and connect */ SQLRETURN prompted_connect( SQLHANDLE henv, SQLHANDLE * hdbc ) { SQLCHAR server[SQL_MAX_DSN_LENGTH + 1] ; SQLCHAR uid[MAX_UID_LENGTH + 1] ; SQLCHAR pwd[MAX_PWD_LENGTH + 1] ; /* allocate a connection handle */ if ( SQLAllocHandle( SQL_HANDLE_DBC, henv, hdbc ) != SQL_SUCCESS ) { printf( ">---ERROR while allocating a connection handle-----\n" ) ; return( SQL_ERROR ) ; } /* Set AUTOCOMMIT OFF */ if ( SQLSetConnectAttr( * hdbc, SQL_ATTR_AUTOCOMMIT, ( void * ) SQL_AUTOCOMMIT_OFF, SQL_NTS ) != SQL_SUCCESS ) { printf( ">---ERROR while setting AUTOCOMMIT OFF ------------\n" ) ; return( SQL_ERROR ) ; } printf( ">Enter Server Name:\n" ) ; gets( ( char * ) server ) ; printf( ">Enter User Name:\n" ) ; gets( ( char * ) uid ) ; printf( ">Enter Password:\n" ) ; gets( ( char * ) pwd ) ; if ( SQLConnect( * hdbc, server, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS ) != SQL_SUCCESS ) { printf( ">--- ERROR while connecting to %s -------------\n", server ) ; SQLDisconnect( * hdbc ) ; SQLFreeHandle( SQL_HANDLE_DBC, * hdbc ) ; return( SQL_ERROR ) ; } else /* Print Connection Information */ printf( "Successful Connect to %s\n", server ) ; return( SQL_SUCCESS ) ; }