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/ |