the SQLNCL 9-11 produces incorrect syntax when it is refreshing the parameters from ADO.
The following events are shown in Profiler.
SQL:StmtStarting: SET NO_BROWSETABLE OFF
SQL:Stmtcompleted: SET NO_BROWSETABLE OFF
SQL:BatchCompleted: SET NO_BROWSETABLE OFF
SP:StmtStarting: select PROCEDURE_CATALOG ...
SP:StmtCompleted: select PROCEDURE_CATALOG ...
RPC:Completed: exec [?].[sys].sp_procedure_params_90_rowset N'spCustomerSelect',1,NULL,NULL
SQL:StmtStarting: SET NO_BROWSETABLE ON
SQL:Stmtcompleted: SET NO_BROWSETABLE ON
SQL:BatchCompleted: SET NO_BROWSETABLE ON
User Error Message: Procedure or function 'spCustomerSelect' expects parameter '@ContextStr', which was not supplied.
RPC:Completed: exec spCustomerSelect default,default,default
In addition to these sequences, the following thread in the forum details a profiler trace that is similar and also produces an error based on a metadata request from the driver.