SQL Server parameter substitution

Mike Sela <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <CAG1ErJcxSeNP2ehT4NLL1+Fn1mCsvv=3jAx7_23k072Y=p_LtQ@mail.gmail.com>
Hi,

I'm using FreeTDS on Ubuntu (through pymssql and SQLAlchemy) to connect to
my SQL Server and I'm running into an issue where I can't seem to pass
parameterized SQL statements through to SQL Server.  I can create my nice
neat parameterized statements in SQL Alchemy that look like this:

SELECT * FROM Customers WHERE CustomerId = :CustomerId;

but by the time it gets to the DB, it looks like this:

SELECT * FROM Customers WHERE CustomerId = 572;

The actual parameter substitution appears to be occurring in the pymssql
layer, but they tell me that that's because of a limitation in FreeTDS,
where parameterized SQL is not handled.  Is that true?

This creates a problem for us because every statement is fairly unique
(since the ids are embedded in the SQL) and thus we rarely get to re-use
execution plans.

Please let me know if my understanding about parameterized SQL not being
supported by FreeTDS is correct.

Many thanks!

-Mike
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.