Error and Warning Messages

This section explains the format of error and warning messages generated by ODBC Test. All error and warning messages have the following form:

TSTyxxx : message

where y indicates the message level. Zero indicates an error message and 1 indicates a warning message. xxx is the message number. For example:

TST0001: The value of cbConnStrLen is less than 0 and not SQL_NTS= - 3

The following table lists the messages generated by ODBC Test. The values in italics are replaced by ODBC Test when it prints the error message. The value codes represents a list of return codes.

Message Level Description
TST0001 W0 The value of %s is less than 0 and not SQL_NTS=-3.
TST0002 W0 The value returned in %s does not match the length of string returned in %s.
TST0003 W0 The driver returned SQL_SUCCESS or SQL_SUCCESS_WITH_INFO but did not update %s.
TST0004 W0 Invalid return code '%s'.

Valid return codes are codes.

TST0005 W0 Truncation implied but SQL_SUCCESS_WITH_INFO not returned, %s=%d.

The value returned by the specified pcb parameter indicates that truncation occurred. However, SQL_SUCCESS_WITH_INFO was not returned from the driver.

TST0006 W0 The value %ld was not a valid named constant for %s.

The value returned for the function named is not one of the legal values as documented in the Microsoft ODBC Programmer’s Reference. For example, SQLGetInfo should return either 0 or 1 for SQL_ODBC_SAG_CLI_COMPLIANCE.

TST0007 W0 The following set bits do not have a corresponding named constant: 0x%08lX

A bit in the bitmask returned for the function named is not one of the legal values as documented in the Microsoft ODBC Programmer’s Reference. For example, SQLGetInfo should set bits only for SQL_LCK_NO_CHANGE, SQL_LCK_EXCLUSIVE, and SQL_LCK_UNLOCK for the information type SQL_LOCK_TYPES.

TST0008 W0 Cannot allocate more than %ld bytes of memory.
TST0009 W0 Buffer %s contained an invalid count byte value.
TST1001 W1 Buffer %s was not updated.

Buffer checking has been enabled, but after the function call the named buffer was not updated.

TST1002 W1 Truncation implied by SQL_SUCCESS_WITH_INFO, %s=%d.

The value returned by the specified pcb parameter indicates that a truncation occurred, and SQL_SUCCESS_WITH_INFO was returned from the driver.

TST1003 W1 The message for SQLState "%s" is longer than SQL_MAX_MESSAGE_LENGTH – 1.

The description of cbErrorMsgMax indicates that you should allocate no more than SQL_MAX_MESSAGE_LENGTH for an error returned from SQLError. This message indicates that the driver has returned a message that exceeds this limit. Because you should not expect a message this long, this is a warning to the driver writer that the size of the message should be decreased.

TST1004 W1 Data needed for Parameter #%u.

Indicates the parameter that ODBC Test has identified as the next SQL_DATA_AT_EXEC parameter. ODBC Test bases this identification on the value of the rgbValue buffer specified in SQLBindParameter (or SQLBindCol when SQLSetPos is used) and returned by SQLParamData.

TST1005 W1 Highest bound column is %u.

Returned by the Get Data All and Get Data Row function tools when columns are bound. Some drivers cannot return data before this column.

TST1006 W1 A zero was received for %s, indicating that the driver does not support this function.

In ODBC 2.0, SQLGetInfo returns 0 for integer-valued information types that do not apply to the driver or data source. ODBC Test displays this message when SQLGetInfo returns 0 for an information type for which there is no #define with a value of 0.

TST1007 W1 Because prgbValue was NULL, ODBC Test was unable to resolve the data type of the parameter. The data type will be set to SQL_C_CHAR by default.
TST1008 W1 Buffer %s was modified beyond indicated length.
TST1009 W1 Buffer %s was modified and should not have been.
TST1010 W1 Buffer %s contained an invalid count byte value.
TST1011 W1 Buffer %s is not properly null-terminated.
TST1012 W1 Buffer %s contains an embedded NULL.