I try to test dBUseArea() with DBFCDX RDD and SQLMIX RDD ...
Since I cannot test the test2.prg under \hb20\contrib\rddsql\sddodbc\tests
I modify test2.prg into tstmysql.prg as follow:
However the line: ? dBUseArea( .T., "sqlmix", "SELECT * FROM country",
"country", .T., .F.)
with error comes out :
http://www.mingyik.com/dnload/tstodbc10.jpg
http://www.mingyik.com/dnload/tstodbc20.jpg
Hi,
you error screen shows the reason of error. SDDODBC/1906 means statement
allocation error. Your sample generates error on dbusearea(), but does
not generates error on RDDINFO(RDDI_EXECUTE,), though both actions do
statement allocation. Current code uses mixed statement allocation:
SQLAllocStmt() in RDDI_EXECUTE
and
SQLAllocHandle( SQL_HANDLE_STMT, ) in DBUSEAREA()
Microsoft says: "In ODBC 3.x, the ODBC 2.x function SQLAllocStmt has
been replaced by SQLAllocHandle."
Can you test sddodbc.c, by changing line #339 from
if ( ! SQL_SUCCEEDED( SQLAllocHandle( SQL_HANDLE_STMT,
pSDDConn->hConn, &hStmt ) ) )
to
if ( ! SQL_SUCCEEDED( SQLAllocStmt( pSDDConn->hConn, &hStmt ) ) )
?
If this helps, we will need some additional compile switches to use
different ODBC API version.
Regards,
Mindaugas
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour