[freetds] SP Syntax error using freeTDS and UnixODBC on Linux

James K. Lowden jklowden at schemamania.org
Wed May 7 22:02:28 EDT 2003


On Wed, 7 May 2003 16:17:20 -0400 , "Rogers, Tom" <tom.rogers at ccur.com>
wrote:
> 
> On my Linux machine with UnixODBC 2.2.3-1 using freeTDS 7.0 into a MS
> SQL 7.0 server I have a simple, sample app that calls a stored procedure
> using SQLBindParameter and SQLExecDirect.  The SQL server returns a
> syntax error if using escape clause syntax, "{ ? = call myproc(?, ?, ?)
> }".  I say this is on "my machine", as a colleagues machine the
> SQLExecDirect call runs fine, except no output params or return code.
> 
> I am supposed to debug the no RC/Output params problem, but it is
> difficult as I can't get the SP to work in the first place.  I can
> execute the SP if I use the regular t-sql equiv:  "execute myproc NULL,
> val1, val2".  That works fine.  
> 
> Oh, on my colleagues machine I have tried SQLMoreResults to fetch any
> recs/diag recs, etc.  That seemed to get the ReturnCode to show up but
> not the output param.
> 
> I have searched the various mailing lists, news groups high and low and
> triple checked my config.
> 
> What should I do?

There were, perhaps still are, whitespace problems with that syntax,
recently fixed.  See ChangeLog in CVS and the ML archives for
details.  
 
You could post your TDSDUMP log here, taking care with the passwords. 
You don't mention what version of FreeTDS you're using.  Frediano will
be able to tell you if you can work around the problem by eliminating
some whitespace.  

HTH.

--jkl



More information about the FreeTDS mailing list