|
From: Carlos G.A. <car...@ho...> - 2002-07-05 13:42:41
|
Hello:
The driver don´t have implementation for SQLGetEnvAttr ( this is an ODBC 3.x
function ):
Main.cpp
///// SQLGetEnvAttr /////
RETCODE SQL_API SQLGetEnvAttr (SQLHENV arg0,
SQLINTEGER arg1,
SQLPOINTER arg2,
SQLINTEGER arg3,
SQLINTEGER * arg4)
{
/*
notYetImplemented("SQLGetEnvAttr called\n");
return(SQL_SUCCESS);
*/
TRACE ("SQLGetEnvAttr");
return ((OdbcEnv*) arg0)->sqlGetEnvAttr (arg1, arg2, arg3, arg4);
}
OdbcEnv.h ( line 39 )
RETCODE sqlGetEnvAttr(int attribute, SQLPOINTER ptr, int bufferLength,
SQLINTEGER *lengthPtr);
OdbcEnv.cpp
RETCODE OdbcEnv::sqlGetEnvAttr(int attribute, SQLPOINTER ptr, int
bufferLength, SQLINTEGER *lengthPtr)
{
clearErrors();
long value;
char *string = NULL;
try
{
switch (attribute)
{
case SQL_ATTR_ODBC_VERSION:
value = SQL_OV_ODBC3;
break;
case SQL_ATTR_OUTPUT_NTS:
value = SQL_TRUE;
break;
default:
return sqlReturn (SQL_ERROR, "HYC00", "Optional feature not
implemented");
}
if (string)
return returnStringInfo (ptr, bufferLength, lengthPtr, string);
if (ptr)
*(long*) ptr = value;
if (lengthPtr)
*lengthPtr = sizeof (long);
}
catch (SQLException& exception)
{
postError ("HY000", exception);
return SQL_ERROR;
}
return sqlSuccess();
}
Change implementation of SQLSetEnvattr:
RETCODE OdbcEnv::sqlSetEnvAttr(int attribute, SQLPOINTER value, int length)
{
clearErrors();
try
{
switch (attribute)
{
case SQL_ATTR_OUTPUT_NTS:
case SQL_ATTR_ODBC_VERSION:
break;
default:
return sqlReturn (SQL_ERROR, "HYC00", "Optional feature not
implemented");
}
}
catch (SQLException& exception)
{
postError ("HY000", exception);
return SQL_ERROR;
}
return sqlSuccess();
}
Best Regards
Carlos Guzmán Álvarez
Vigo-España
_________________________________________________________________
MSN. Más Útil cada Día. http://www.msn.es/intmap/
|