Originally posted
here.
Tom Rizzo
pointed out the other day that he and James Hamilton were
featured on The .NET Show, discussing SQL Server 2005.
This was a pretty interesting show, and I recommend that readers interested in SQL 2005 features watch the webcast.
However, one quote in particular annoyed me. From James Hamilton, about CLR stored procedures:
"You're no longer forced to use T-SQL. T-SQL's absolutely still
supported. Works as well as ever. But you can write in any language
now."
I'm utterly sick of hearing this absolutely baseless claim
repeated over and over by people both inside and outside of Microsoft!
I'd originally heard it from a certain MS evangelist (name withheld to
protect the guilty!) over two years ago, and believed it until I first
cracked open the SQL Server 2005 Books Online.
The bottom line is, at least as of the current beta -- and
according to everything I've read about the SQL CLR integration -- you
MUST USE T-SQL TO ACCESS DATA. When coding a CLR stored procedure, the
only way to get data from the database is to use a context connection
back and execute a T-SQL query. There is no replacement for T-SQL. And
you certainly cannot code data access in "any language".
I don't know why this claim keeps getting repeated. I just want
to set the record straight, at least for readers of this blog. Unless
MS has a huge secret change lined up that hasn't hit the beta yet, this
is just how it is. So please, MS and others, stop making this claim! To
me it feels like little more than a sad marketing tactic that's gone
way too far.