[freetds] Using sp_executesql with Microsoft SQL Server 2000

Lowden, James K LowdenJK at bernstein.com
Mon Jun 30 17:32:30 EDT 2003

> From: Staats, Frederick W [mailto:frederick.w.staats at intel.com]
> Sent: June 30, 2003 11:47 AM
> Has anyone on the freeTDS team looked at using sp_executesql in
> freeTDS for parameter passing using freeTDS with Microsoft SQL
> Server 2000?
> I'm working on an optional perl only extension to DBD::Sybase
> that will allow me to do '?' based parameter passing using
> this technique, but am wondering if anyone has looked a
> lower level interface.

DBD::Sybase uses ct-lib.  I think current ct-lib in CVS supports '?'
placeholders via ct_send_dyn().  I don't know how well it works.  I don't
see a unit test for it, and it hasn't been crossed off the TODO.  In any
case, all the hard parts are done in libtds, and placeholders work at least
somewhat in ODBC.  

Frediano reverse engineered the TDS 7.0 protocol for dynamic SQL.  IIRC, his
work is based on the RPC protocol.  It doesn't look like he uses
sp_executesql.  I don't know why; I don't recall any discussion about it.  I
wonder if he ever came across it in his traces.  

If the ct-lib support for placeholders is lacking in some area that you need
to make DBD::Sybase work correctly with FreeTDS, please tell us, if you can,
specifically what's missing.  Perhaps we can work together to fill in the
blanks.  At the very least we can make the TODO more detailed.  

BTW, Bill Thompson is planning enhancements to ct-lib.  I'm very eager to
see DBD::Sybase work perfectly with FreeTDS, and I expect that Bill's work
will carry us most the way there, quite possibly all the way there.  (Yay,

I suppose it's obvious, but I'll say it anyway: patches welcome.  :-)  

The information contained in this transmission may contain privileged and confidential information and is intended only for the use of the person(s) named above. If you are not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, any review, dissemination, distribution or duplication of this communication is strictly prohibited. If you are not the intended recipient, please contact the sender immediately by reply e-mail and destroy all copies of the original message. Please note that we do not accept account orders and/or instructions by e-mail, and therefore will not be responsible for carrying out such orders and/or instructions.

More information about the FreeTDS mailing list