Thread: Trap in copy_statement_with_parameters with latest sources
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
> Chris Lee wrote: > > 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) Are you using tranlation dll ? regards, Hiroshi Inoue