/* Copyright (C) 2003 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * @file SQLGetInfoTest.cpp */ #include using namespace std; SQLHDBC GI_hdbc; SQLHSTMT GI_hstmt; SQLHENV GI_henv; #define GI_MESSAGE_LENGTH 200 SQLCHAR Msg[GI_MESSAGE_LENGTH]; void SQLGetInfoTest_DisplayError(SQLSMALLINT GI_HandleType, SQLHDBC GI_InputHandle); /** * Test to retrieve general information about the driver and * the data source an application is currently connected to. * * Tests: * -# Test The value of FunctionId is not in table 27 * @return Zero, if test succeeded */ int SQLGetInfoTest() { SQLRETURN retcode; SQLINTEGER InfoValuePtr; SQLSMALLINT SLPStringLengthPtr; ndbout << endl << "Start SQLGetInfo Testing" << endl; //****************************************************** //** The value of FunctionId is not in Table 27, then ** //** an exception condition is raised ** //****************************************************** //************************************ //** Allocate An Environment Handle ** //************************************ retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &GI_henv); if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) ndbout << "Allocated an environment Handle!" << endl; //********************************************* //** Set the ODBC application Version to 3.x ** //********************************************* retcode = SQLSetEnvAttr(GI_henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, SQL_IS_UINTEGER); if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) ndbout << "Set the ODBC application Version to 3.x!" << endl; //********************************** //** Allocate A Connection Handle ** //********************************** retcode = SQLAllocHandle(SQL_HANDLE_DBC, GI_henv, &GI_hdbc); if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) ndbout << "Allocated a connection Handle!" << endl; // ******************* // ** Connect to DB ** // ******************* retcode = SQLConnect(GI_hdbc, (SQLCHAR *) connectString(), SQL_NTS, (SQLCHAR *) "", SQL_NTS, (SQLCHAR *) "", SQL_NTS); // ********************** // ** GET INFO FROM DB ** // ********************* retcode = SQLGetInfo(GI_hdbc, SQL_DATABASE_NAME, &InfoValuePtr, sizeof(InfoValuePtr), &SLPStringLengthPtr); if (retcode == SQL_SUCCESS) ndbout << endl << "Database Name:" << InfoValuePtr << endl; else { ndbout << endl << "retcode = SQLGetInfo() = " << retcode <