With the 07_01_006 driver I had problems with the abort caused by doing SQLPrepare - SQLDescribeCol - SQLBindParameter - SQLExecute. Rows inserted into a temp data were getting rolled back by the internal abort caused by this sequence of calls. The Disallow Premature option in the 007 driver cures this problem. I initially downloaded the driver installer and did a 'binary' install, but this didn't cure the problem, so I took a copy of the latest sources from CVS and built the driver DLL myself and the problem went away. However, I now have a problem with crashes in the driver with queries that were OK with the 006 driver. I'm working with a large scale app and so far haven't got a theory about which types of queries cause the problem. It's not a trivial problem as quite a lot of fairly complex queries run OK with the new driver. The crashes are happening at the following location:
/* make sure new_statement is always null-terminated */
CVT_TERMINATE
====> if (conn->DriverToDataSource != NULL)
{
int length = strlen(new_statement);
conn->DriverToDataSource(conn->translation_option,
SQL_CHAR,
new_statement, length,
new_statement, length, NULL,
NULL, 0, NULL);
}
Has anyone else seen this problem?
Chris Lee