Don't call SQLGetDiagRec on SQL_ERROR return values, this causes
certain odbc drivers to crash.
This commit is contained in:
parent
c8864c6c9a
commit
00dc5a0296
|
@ -202,9 +202,9 @@ s48_value odbc_sql_connect(s48_value connection_handle,
|
||||||
ch = (SQLHDBC) s48_extract_integer(connection_handle);
|
ch = (SQLHDBC) s48_extract_integer(connection_handle);
|
||||||
|
|
||||||
retval = SQLConnect(ch,
|
retval = SQLConnect(ch,
|
||||||
dsn, dsn_len,
|
dsn, SQL_NTS,
|
||||||
user, user_len,
|
user, SQL_NTS,
|
||||||
auth, auth_len);
|
auth, SQL_NTS);
|
||||||
|
|
||||||
switch (retval)
|
switch (retval)
|
||||||
{
|
{
|
||||||
|
@ -214,12 +214,12 @@ s48_value odbc_sql_connect(s48_value connection_handle,
|
||||||
}
|
}
|
||||||
case SQL_SUCCESS_WITH_INFO:
|
case SQL_SUCCESS_WITH_INFO:
|
||||||
{
|
{
|
||||||
ODBC_DEBUG_DIAGREC(SQL_HANDLE_DBC, ch);
|
/* ODBC_DEBUG_DIAGREC(SQL_HANDLE_DBC, ch); */
|
||||||
return S48_TRUE;
|
return S48_TRUE;
|
||||||
}
|
}
|
||||||
case SQL_ERROR:
|
case SQL_ERROR:
|
||||||
{
|
{
|
||||||
ODBC_DEBUG_DIAGREC(SQL_HANDLE_DBC, ch);
|
/* ODBC_DEBUG_DIAGREC(SQL_HANDLE_DBC, ch); */
|
||||||
ODBC_RAISE_EXCEPTION("SQLConnect returned SQL_ERROR");
|
ODBC_RAISE_EXCEPTION("SQLConnect returned SQL_ERROR");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2011,8 +2011,10 @@ s48_value odbc_sql_free_handle(s48_value handle_type, s48_value handle)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef ODBC_DEBUG_MSGS
|
#ifdef ODBC_DEBUG_MSGS
|
||||||
/* print detailed debug information */
|
/* print detailed debug information */
|
||||||
|
|
||||||
void odbc_debug_msgs(SQLSMALLINT handle_type, SQLHANDLE handle)
|
void odbc_debug_msgs(SQLSMALLINT handle_type, SQLHANDLE handle)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -2022,6 +2024,7 @@ void odbc_debug_msgs(SQLSMALLINT handle_type, SQLHANDLE handle)
|
||||||
SQLSMALLINT i, message_len;
|
SQLSMALLINT i, message_len;
|
||||||
SQLRETURN retval;
|
SQLRETURN retval;
|
||||||
|
|
||||||
|
printf("fetching diag_rec from odbc driver.\n");
|
||||||
i = 1;
|
i = 1;
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue