HOWTO: Retrieving a List of All ODBC Data SourcesLast reviewed: July 31, 1997Article ID: Q119064 |
The information in this article applies to:
SUMMARYThe Open Database Connectivity (ODBC) API contains a function called SQLDataSources() which can be used to retrieve information about data sources which are available to an application. Below is a sample function which fills a CStringList with the names of all available ODBC data sources.
Sample Code
#include "odbcinst.h" // NOTE: in 16-bit Visual C++ link with odbcinst.lib // in 32-bit Visual C++ 2.x link with odbccp32.lib // in 32-bit Visual C++ 4.x no need to change link options #define MAX_DSN_LENGTH 30 #define MAX_DSN_DESC_LENGTH 300 BOOL GetODBCDataSourceNames(CStringList * pList) { HENV hEnv; char szDSN[MAX_DSN_LENGTH]; SWORD cbDSN; UCHAR szDescription[MAX_DSN_DESC_LENGTH]; SWORD cbDescription; RETCODE retcode; ASSERT(pList->IsEmpty()); if (SQLAllocEnv(&hEnv)!=SQL_SUCCESS) return FALSE; while (retcode=SQLDataSources(hEnv, SQL_FETCH_NEXT, (UCHAR FAR *) &szDSN, MAX_DSN_LENGTH, &cbDSN, (UCHAR FAR *) &szDescription,MAX_DSN_DESC_LENGTH, &cbDescription) != SQL_NO_DATA_FOUND &&retcode!=SQL_ERROR) { pList->AddTail(szDSN); } SQLFreeEnv(hEnv); if (retcode==SQL_ERROR) return FALSE; return TRUE; } Keywords : MfcDatabase kbcode kbprg Technology : kbMfc Version : 1.5 1.51 1.52 2.0 2.1 2.2 4.0 5. Platform : NT WINDOWS Issue type : kbhowto |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |