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

Reply via email to