ODBC driver incorrectly returns 0 for SQLNumResultCols
Operating system version
Windows Server 2008 R2 Enterprise SP1
Description of the issue
According to the ODBC spec the SQLNumResultCols function is meant to return the number of columns, but when used with a where statement the FileMaker ODBC driver returns 0.
(SAS track 7610977755)
Steps to reproduce the problem
options sastrace='d,,d,d' sastraceloc=saslog nostsuffix;
libname Fm12 odbc dsn='test12' password='xxx' user='xxx' ;
delete from fm12.test12
SQLResultNumCols returns the number of columns, and records are removed.
The driver is returning a 0 for SQLResultNumCols causing SAS to crash. To quote the SAS developer:
".... it seems like an odd case where the driver/server return SQLNumResultCols as 0 when no data is found b/c of the where clause. Which doesn’t quite seem right to me. I would expect that should report 1 for field1 regardless of whether it finds data or not....".
Workstation used to pull ODBC data is:
Windows 7 64-bit with 32-bit SAS 9.3 T1M2 and 32-bit FileMaker Pro ODBC driver 12.03.103.00
Note: the ODBC driver supplied with FileMaker 10 worked well. The ones supplied with version 12 behave like beta versions.