Re: Weird query results -- freetds query results differ from native windows

"James K. Lowden" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
Patrick Spinler wrote:
> 
> With one set of arguments I receive identical results on both
> freetds/linux and native windows.
> 
>   exec inv_search_api 4527
> 
> However, when I execute the following query, I get different results in
> freetds from native windows.  Under freetds, the procedure returns an
> interal code indicating a permission error (result code=1001), under
> windows, it returns a large set of result data (the expected result).
> 
>   exec inv_search_api 5240
> 
> Would anyone have any clue why, or places to start investigating,
> please?

If you use the same account, it can't be a permission error.  The server
doesn't know anything about the client environment except that it's a TDS
client.  

The procedure is subject to session options though that can affect its
behavior.  That's especially true if you're using db-lib or ct-lib in
FreeTDS versus Microsoft's ODBC-based GUI tools.  Look into @@OPTIONS,
paying special attention to ANSI defaults.  

Something I bump into from time to time is string contatenation with NULL.
 If, say, you construct a date string with "month +'/1/'+ year", an ODBC
tool will normally yield NULL if the month/year is NULL, but a db-lib
application will yield at least '/1/' -- which, if converted to a
datetime, results in an error, not a NULL.  Thus the procedure that works
fine in Query Analyzer fails with NULLs in FreeTDS or even with
Microsoft's (db-lib based) ISQL.EXE.  

HTH.  

--jkl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.