Re: dbbind failure on unknown bindtype
Paul Thurston <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <8CE89D28262A9144A043F26236D8317C020186444B@EXVMBX020-21.exch020.serverdata.net> |
James: I was never able to get dbbind(...) to work with SQL Server 2008. I've replaced this with calls to dbdata(...) and dbconvert(...) to roll my own bind routine. After extensive testing, this technique seems to work just fine on SQL Server 2008, and mimics in DB-Lib what tsql is doing via raw TDS Thanks, Paul From: [email protected] [mailto:[email protected]] On Behalf Of James K. Lowden Sent: Wednesday, December 29, 2010 1:11 AM To: FreeTDS Development Group Subject: Re: [freetds] dbbind failure on unknown bindtype Paul Thurston wrote: > The standard call to dbbind (...) fails on the current build. > > Stepping thru the code, the issue is on line 2085 of dblib.c > > Reading an integer from SQL Server 2007, the function call > _db_get_server_type(int bindtype) is unable to map type code = 56. > > Is there a patch for this? I'm not sure I understand what you think the problem is. What arguments are you passing to dbbind(), and what is the datatype of the column you're binding? _db_get_server_type() takes a bindtype parameter, a value between 0 and 19. 56 is not a choice. Cf. lines 448-466 in sybdb .h. If you pass an invalid bindtype argument (a/k/a vartype in Sybase's documentation) to dbbind() it should fail with SYBEBTYP. If the column datatype cannot be converted to the host variable type -- i.e. cannot be bound -- it should fail with SYBEABMT. If you meant SQL Server 2008, perhaps there's a new datatype that dbwillconvert needs to cope with. HTH. --jkl _______________________________________________ FreeTDS mailing list [email protected]<mailto:[email protected]> http://lists.ibiblio.org/mailman/listinfo/freetds