/******************************************************************************* ** ** Source File Name = datasour.c 1.3 ** ** Licensed Materials - Property of IBM ** ** (C) COPYRIGHT International Business Machines Corp. 1995, 1999 ** All Rights Reserved. ** ** US Government Users Restricted Rights - Use, duplication or ** disclosure restricted by GSA ADP Schedule Contract with IBM Corp. ** ** ** PURPOSE : ** - demonstrate SQLDataSource function ** - list available servers ** (error checking has been ignored for simplicity) ** ** For more information about these samples see the README file. ** ** For more information on programming in CLI see the: ** - "Building CLI Applications" section of the Application Building Guide, and the ** - CLI Guide and Reference. ** ** For more information on the SQL language see the SQL Reference. ** *******************************************************************************/ /*--> SQLL1X01.SCRIPT */ #include <stdio.h> #include <stdlib.h> #include <sqlcli1.h> #include "samputil.h" /* Header file for CLI sample code */ /* For the Macintosh environment when generating 68K applications */ #ifdef DB268K /* Need to include ASLM for 68K applications */ #include <LibraryManager.h> #endif /******************************************************************* ** main ** - initialize ** - terminate *******************************************************************/ int main() { SQLHANDLE henv ; SQLRETURN rc ; SQLCHAR source[SQL_MAX_DSN_LENGTH + 1], description[255] ; SQLSMALLINT buffl, desl ; /* For the Macintosh environment when generating 68K applications */ #ifdef DB268K /* Before making any API calls for 68K environment, need to initialize the Library Manager */ InitLibraryManager(0,kCurrentZone,kNormalMemory); atexit(CleanupLibraryManager); #endif /* allocate an environment handle */ rc = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv ) ; if ( rc != SQL_SUCCESS ) return( terminate( henv, rc ) ) ; /* list the available data sources (servers) */ printf( "The following data sources are available:\n" ) ; printf( "ALIAS NAME Comment(Description)\n" ) ; printf( "----------------------------------------------------\n" ) ; while ( ( rc = SQLDataSources( henv, SQL_FETCH_NEXT, source, SQL_MAX_DSN_LENGTH + 1, &buffl, description, 255, &desl ) ) != SQL_NO_DATA_FOUND ) printf( "%-30s %s\n", source, description ) ; rc = SQLFreeHandle( SQL_HANDLE_ENV, henv ) ; if ( rc != SQL_SUCCESS ) return( terminate( henv, rc ) ) ; return( SQL_SUCCESS ) ; } /*<-- */