Article ID: 156134
Article Last Modified on 11/21/2006
// Length is signed value, it's limited by LONG_MAX
if (value.m_dwDataLength >
(ULONG)(LONG_MAX - labs(SQL_LEN_DATA_AT_EXEC_OFFSET)))
{
ASSERT(FALSE);
*plLength = LONG_MAX - labs(SQL_LEN_DATA_AT_EXEC_OFFSET);
}
else
*plLength = value.m_dwDataLength;
*plLength = SQL_LEN_DATA_AT_EXEC(*plLength);
Paste this code over the line that contains SQL_DATA_AT_EXEC in the
following code, which appears under "case CFieldExchange::Value":
{
// Indicate data will be sent after SQLExecute
*plLength = SQL_DATA_AT_EXEC; << REPLACE THIS LINE
}
This causes the macro to be used instead of the constant.
if (pFX->m_prs->m_bUseUpdateSQL) // COMMENT OUT THIS LINE
*plLength = SQL_DATA_AT_EXEC; // COMMENT OUT THIS LINE
else // COMMENT OUT THIS LINE
{ // COMMENT OUT THIS LINE
// Length is signed value, it's limited by LONG_MAX
if (value.m_dwDataLength >
(ULONG)(LONG_MAX - labs(SQL_LEN_DATA_AT_EXEC_OFFSET)))
{
ASSERT(FALSE);
*plLength = LONG_MAX - labs(SQL_LEN_DATA_AT_EXEC_OFFSET);
}
else
*plLength = value.m_dwDataLength;
*plLength = SQL_LEN_DATA_AT_EXEC(*plLength);
} // COMMENT OUT THIS LINE
Additional query words: kbVC400bug Intersolv Oracle
Keywords: kbbug kbdatabase kbfix kbvc500fix KB156134