cancel
Showing results for 
Search instead for 
Did you mean: 

Driver does not support this parameter

Breck_Carter
Participant
0 Kudos
2,772
SQLCODE = -660
SQLSTATE = WO005
ERRORMSG() = Server 'sss': [Microsoft][ODBC Driver Manager] Driver does not support this parameter

Code executing on SQL Anywhere Network Server Version 12.0.1.3298
Proxy table defined against SQL Anywhere 5.5.05.2787

SELECT count FROM proxy_SYSTABLE;

CREATE EXISTING TABLE proxy_SYSTABLE ( 
   ...
   count UNSIGNED BIGINT NOT NULL,
   ... )
   AT 'sss..SYS.SYSTABLE';

Accepted Solutions (0)

Answers (1)

Answers (1)

Breck_Carter
Participant

This error message is worth talking about for two reasons: First, "Driver does not support this parameter" is hopelessly vague (actually misleading), and second, it represents a behavior change in either SQL Anywhere 12 or Windows 7 ODBC.

In this specific case, it is no longer possible to use the UNSIGNED BIGINT data type for a SELECT column when the target database is SQL Anywhere 5, presumably because SQL Anywhere 5 does not support BIGINT. Previously, it didn't matter... if the SQL Anywhere 5 column was INTEGER, it was perfectly OK to define the SELECT column as UNSIGNED BIGINT.

Somewhere along the way, the rules have been tightened up. It is STILL OK to define the proxy table column as UNSIGNED BIGINT, but you have to CAST it in the SELECT:

SELECT CAST ( proxy_SYSTABLE.count AS INTEGER ) FROM proxy_SYSTABLE;

In fact, the proxy table column data type is not involved at all; the following SELECT raises the same error even though it doesn't select any proxy table column at all:

SELECT CAST ( NULL AS UNSIGNED BIGINT ) AS ccc FROM proxy_ttt;

Again, the workaround is to change the data type in the SELECT:

SELECT CAST ( proxy_SYSTABLE.count AS INTEGER ) FROM proxy_SYSTABLE;

The bottom line: If you see "Driver does not support this parameter" have a look at your data types.