- 论坛徽章:
- 0
|
如何同时连接多个database
db2得cli好好像可以做到哦,下面我源代码,,
/* ... */
#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 ) ;
}
这个是db2cli自带得例子!!! |
|