Example: Initialization and connection in a DB2 UDB CLI application
This example shows how initialization and connection work in a DB2® UDB call level interface (CLI) application.
By using the code examples, you agree to the terms of the Code license and disclaimer information.
/******************************************************* ** file = basiccon.c ** - demonstrate basic connection to two datasources. ** - error handling ignored for simplicity ** ** Functions used: ** ** SQLAllocConnect SQLDisconnect ** SQLAllocEnv SQLFreeConnect ** SQLConnect SQLFreeEnv ** ** ********************************************************/ #include <stdio.h> #include <stdlib.h> #include "sqlcli.h" int connect(SQLHENV henv, SQLHDBC * hdbc); #define MAX_DSN_LENGTH 18 #define MAX_UID_LENGTH 10 #define MAX_PWD_LENGTH 10 #define MAX_CONNECTIONS 5 int main() { SQLHENV henv; SQLHDBC hdbc[MAX_CONNECTIONS]; /* allocate an environment handle */ SQLAllocEnv(&henv); /* Connect to first data source */ connect(henv, &hdbc[0];); /* Connect to second data source */ connect(henv, &hdbc[1];); /********* Start Processing Step *************************/ /* allocate statement handle, execute statement, and so forth */ /********* End Processing Step ***************************/ printf("\nDisconnecting .....\n"); SQLDisconnect(hdbc[0]); /* disconnect first connection */ SQLDisconnect(hdbc[1]); /* disconnect second connection */ SQLFreeConnect(hdbc[0]); /* free first connection handle */ SQLFreeConnect(hdbc[1]); /* free second connection handle */ SQLFreeEnv(henv); /* free environment handle */ return (SQL_SUCCESS); } /******************************************************************** ** connect - Prompt for connect options and connect ** ********************************************************************/ int connect(SQLHENV henv, SQLHDBC * hdbc) { SQLRETURN rc; SQLCHAR server[MAX_DSN_LENGTH + 1], uid[MAX_UID_LENGTH + 1], pwd[MAX_PWD_LENGTH + 1]; SQLCHAR buffer[255]; SQLSMALLINT outlen; printf("Enter Server Name:\n"); gets((char *) server); printf("Enter User Name:\n"); gets((char *) uid); printf("Enter Password Name:\n"); gets((char *) pwd); SQLAllocConnect(henv, hdbc);/* allocate a connection handle */ rc = SQLConnect(*hdbc, server, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS); if (rc != SQL_SUCCESS) { printf("Error while connecting to database\n"); return (SQL_ERROR); } else { printf("Successful Connect\n"); return (SQL_SUCCESS); } }
Parent topic:
Initialization and termination tasks in a DB2 UDB CLI application