Source
zbx_odbc_data_source_t *zbx_odbc_connect(const char *dsn, const char *connection, const char *user, const char *pass,
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** 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 Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
struct zbx_odbc_data_source
{
SQLHENV henv;
SQLHDBC hdbc;
};
struct zbx_odbc_query_result
{
SQLHSTMT hstmt;
SQLSMALLINT col_num;
char **row;
};
/******************************************************************************
* *
* Purpose: get human readable representation of ODBC return code *
* *
* Parameters: rc - [IN] ODBC return code *
* *
* Return value: human readable representation of error code or NULL if the *
* given code is unknown *
* *
******************************************************************************/
static const char *zbx_odbc_rc_str(SQLRETURN rc)
{
switch (rc)
{
case SQL_ERROR:
return "SQL_ERROR";
case SQL_SUCCESS_WITH_INFO:
return "SQL_SUCCESS_WITH_INFO";
case SQL_NO_DATA: