<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Angel Saenz-Badillos </title><link>http://blogs.msdn.com/angelsb/default.aspx</link><description>random ramblings on ADO.NET LINQ Extensions and JDBC</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>does not contain a definition for</title><link>http://blogs.msdn.com/angelsb/archive/2007/02/23/does-not-contain-a-definition-for.aspx</link><pubDate>Sat, 24 Feb 2007 03:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1750489</guid><dc:creator>angelsb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/1750489.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=1750489</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=1750489</wfw:comment><description>Have you heard about extension methods yet? If you have then you probably know exactly what the title of this blog means. I can see this becoming one of the most asked about exceptions in the coming release. At least until the dust settles. &amp;lt;Edit&amp;gt;...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2007/02/23/does-not-contain-a-definition-for.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1750489" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/angelsb/archive/tags/Linq+Extensions/default.aspx">Linq Extensions</category></item><item><title>Blogging about link Extensions</title><link>http://blogs.msdn.com/angelsb/archive/2007/01/29/blogging-about-link-extensions.aspx</link><pubDate>Mon, 29 Jan 2007 17:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1552611</guid><dc:creator>angelsb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/1552611.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=1552611</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=1552611</wfw:comment><description>_uacct = "UA-1265582-1"; urchinTracker(); There are not a lot of guidelines about blogging, the one that I like to adhere to is that I only blog about bits that you can go and play with. This ends up creating gaps in my blogging history as I move to new...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2007/01/29/blogging-about-link-extensions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1552611" width="1" height="1"&gt;</description></item><item><title>JDBC V1.1 Distributed Transactions with Read Committed and Snapshot isolation.</title><link>http://blogs.msdn.com/angelsb/archive/2006/08/29/730655.aspx</link><pubDate>Tue, 29 Aug 2006 21:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:730655</guid><dc:creator>angelsb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/730655.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=730655</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=730655</wfw:comment><description>One of the biggest changes you may not have noticed in the v1.1 2005 JDBC driver is that we have changed the default isolation level for Distributed Transactions from Serializable to Read Committed. This is in line with other JDBC drivers like our 2000...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2006/08/29/730655.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=730655" width="1" height="1"&gt;</description></item><item><title>JDBC Snapshot isolation level</title><link>http://blogs.msdn.com/angelsb/archive/2006/08/24/719013.aspx</link><pubDate>Thu, 24 Aug 2006 20:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:719013</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/719013.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=719013</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=719013</wfw:comment><description>I have gotten some questions about using Sql Server 2005 with the 2005 JDBC driver. There are unfortunately a lot of misconceptions in this area. Here are some notes to make this a little bit easier to understand. The first thing you need to understand...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2006/08/24/719013.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=719013" width="1" height="1"&gt;</description></item><item><title>JDBC 2005 v1.1 is now available.</title><link>http://blogs.msdn.com/angelsb/archive/2006/08/22/713417.aspx</link><pubDate>Wed, 23 Aug 2006 00:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:713417</guid><dc:creator>angelsb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/713417.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=713417</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=713417</wfw:comment><description>The v1.1 2005 JDBC driver is now available for download here: http://msdn.microsoft.com/data/ref/jdbc/ This is a release I am personally really proud of, and we could not have done it without you! Maybe it’s the fact that not that many people in the company...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2006/08/22/713417.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=713417" width="1" height="1"&gt;</description></item><item><title>JDBC June 2006 Community Tech Preview available.</title><link>http://blogs.msdn.com/angelsb/archive/2006/06/26/647672.aspx</link><pubDate>Mon, 26 Jun 2006 19:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:647672</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/647672.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=647672</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=647672</wfw:comment><description>Announcing the June 2006 Community Tech Preview of the JDBC 2005 driver: http://www.microsoft.com/downloads/details.aspx?familyid=f914793a-6fb4-475f-9537-b8fcb776befd&amp;amp;displaylang=en This preview contains all the changes of CTP 1 including Integrated...(&lt;a href="http://blogs.msdn.com/angelsb/archive/2006/06/26/647672.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=647672" width="1" height="1"&gt;</description></item><item><title>JDBC v1.1 CTP and the Product Feedback Center</title><link>http://blogs.msdn.com/angelsb/archive/2006/04/20/580233.aspx</link><pubDate>Thu, 20 Apr 2006 23:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:580233</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/580233.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=580233</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=580233</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;When you get down to it Customer feedback is what makes a project like this interesting and worthwhile. This is the first project I have worked in where the &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:PlaceName w:st="on"&gt;Product&lt;/st1:PlaceName&gt; &lt;st1:PlaceName w:st="on"&gt;Feedback&lt;/st1:PlaceName&gt; &lt;st1:PlaceType w:st="on"&gt;Center&lt;/st1:PlaceType&gt;&lt;/st1:place&gt; has made such an important difference and a BIG thank you to those of you that have taken the time to file bugs directly on the JDBC provider: &lt;A href="http://lab.msdn.microsoft.com/productfeedback/default.aspx"&gt;&lt;FONT color=#800080&gt;http://lab.msdn.microsoft.com/productfeedback/default.aspx&lt;/FONT&gt;&lt;/A&gt; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I want to make sure that you understand that we take these bugs very seriously. We triage them daily and treat them as the highest priority bugs come release time. Here is a list of customer bugs that we have received since we shipped RTM. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;STRONG&gt;All of these bugs have been fixed in our latest JDBC V1.1 CTP. you can download this CTP by contacting the JDBC project manager directly at shelbyg&amp;lt;at&amp;gt;Microsoft&amp;lt;dot&amp;gt;com. &lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 11.5pt"&gt;Bug Details: Statement.execute() returns incorrect results for stored procedures&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=dc43eb80-69b5-4137-8671-9f4e813ce259"&gt;&lt;FONT color=#800080&gt;http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=dc43eb80-69b5-4137-8671-9f4e813ce259&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 11.5pt"&gt;Bug Details: JDBC 2005 GA Driver error when running a callablestatement on SQLServer 2000&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=3fcf439d-79ed-44d9-bbbf-320e4ee25d89"&gt;&lt;FONT color=#800080&gt;http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=3fcf439d-79ed-44d9-bbbf-320e4ee25d89&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Exception Message: “SQL Error: A server cursor is not allowed on a remote stored procedure or stored procedure with more than one SELECT statement. Use a default result set or client cursor”&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 11.5pt"&gt;Bug Details: JDBC Driver executeBatch does not work with INSERT statement&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=e13a8009-7466-4803-ba19-6bfd4b5f8966"&gt;&lt;FONT color=#800080&gt;http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=e13a8009-7466-4803-ba19-6bfd4b5f8966&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Exception Message: “java.sql.BatchUpdateException: com.microsoft.sqlserver.jdbc.SQLServerException: sp_cursoropen/sp_cursorprepare: The statement parameter can only be a single select or a single stored procedure.“&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 11.5pt"&gt;Bug Details: SQL2005 JDBC Driver bug with time zone handling&lt;/SPAN&gt; **Available as a QFE**&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=e73c8b79-53a6-4779-98f1-71c0043179eb"&gt;&lt;FONT color=#800080&gt;http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackid=e73c8b79-53a6-4779-98f1-71c0043179eb&lt;/FONT&gt;&lt;/A&gt; &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Additional customer issues addressed that have no associated external bugs:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Bug Detail: Using sendStringParametersAsUnicode does not work with XA transactions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Exception Message: “java.sql.SQLException: Failed to create the XA control connection.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=580233" width="1" height="1"&gt;</description></item><item><title>JDBC v1.1 CTP Using Type 2 Integrated Security</title><link>http://blogs.msdn.com/angelsb/archive/2006/04/14/576723.aspx</link><pubDate>Fri, 14 Apr 2006 23:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:576723</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/576723.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=576723</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=576723</wfw:comment><description>&lt;P&gt;To use the Type 2 Integrated Security feature&amp;nbsp;with the v1.1 CTP (if you don't have this already make sure to get it! see my previous blog) you only need to make sure that the Windows authentication DLL is visible to the application that is going to use it (This usually means it is in the same directory or in a directory specified in your Path). Then specify integratedSecurity in your connection string and you are done.&lt;/P&gt;
&lt;P&gt;The Windows authentication DLL is located under:&lt;/P&gt;
&lt;P&gt;\sqljdbc_1.1\enu\auth\x86\sqljdbc_auth.dll&amp;nbsp; //for x86 client OS versions&lt;BR&gt;\sqljdbc_1.1\enu\auth\x64\sqljdbc_auth.dll&amp;nbsp; //for AMD 64 clients running Windows 2003 64bit OS&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;import java.sql.*;&lt;/P&gt;
&lt;P&gt;public class test {&lt;BR&gt;&amp;nbsp;public static void main(String[] args) {&lt;BR&gt;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp; java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");&lt;BR&gt;&amp;nbsp;&amp;nbsp; Connection conn = java.sql.DriverManager.getConnection("jdbc:sqlserver://servername;integratedSecurity=true");&lt;BR&gt;&amp;nbsp;&amp;nbsp; System.out.println("Connected!");&lt;BR&gt;&amp;nbsp;&amp;nbsp; conn.close();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; } catch (Exception ex) {&lt;BR&gt;&amp;nbsp;&amp;nbsp; ex.printStackTrace();&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=576723" width="1" height="1"&gt;</description></item><item><title>JDBC V1.1 CTP Available</title><link>http://blogs.msdn.com/angelsb/archive/2006/04/14/576706.aspx</link><pubDate>Fri, 14 Apr 2006 23:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:576706</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/576706.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=576706</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=576706</wfw:comment><description>&lt;P&gt;I am proud to say that the first community preview release of the SQL Server 2005 JDBC v1.1 driver is now available. &lt;/P&gt;
&lt;P&gt;This build includes Type-2 integrated authentication&amp;nbsp; for Windows XP and Windows 2003 clients (windows 2000 client support to come in the next CTP).&amp;nbsp;It also incorporates bug fixes from customer feedback of the v1.0&amp;nbsp;driver and a fair ammount of plumbing under the covers. We really want to get as much feedback on this as possible.&lt;/P&gt;
&lt;P&gt;To get the v1.1 CTP1 please email&amp;nbsp;the JDBC Project Manager&amp;nbsp;directly at &lt;BR&gt;shelbyg&amp;lt;at&amp;gt;microsoft&amp;lt;dot&amp;gt;com. &lt;/P&gt;
&lt;P&gt;I have a bet going with him on the number of requests he will receive so don't let me down! &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=576706" width="1" height="1"&gt;</description></item><item><title>JDBC 2005 beta 2 getting started with SQLEXPRESS</title><link>http://blogs.msdn.com/angelsb/archive/2005/10/20/483206.aspx</link><pubDate>Thu, 20 Oct 2005 21:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:483206</guid><dc:creator>angelsb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/483206.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=483206</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=483206</wfw:comment><description>&lt;P&gt;Sql Express is going to be a good match for the Sql Server 2005 JDBC provider, it is free, it is relatively easy to set up and deploy and it has all the power of Sql Server 2005 for low end applications.&lt;/P&gt;
&lt;P&gt;There are a few&amp;nbsp; things to keep in mind when using Sql Express with the JDBC driver:&lt;/P&gt;
&lt;P&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You need to enable mixed mode security when you install the server so that you can connect using user name and password.&lt;BR&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Make sure that the sqlbrowser is enabled.&amp;nbsp; Sql Server configuration Manager -&amp;gt;SQL Server 2005 Services -&amp;gt;SQL Server Browser -&amp;gt;Start&lt;BR&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The JDBC provider only works with the TCP/IP protocol which is disabled by default on Sql Express. You need to enable the TCP/IP Protocol from the SQL Server Configuration Manager that ships with SqlExpress and re-start the server. Look under SQL Server 2005 Network Configuration -&amp;gt; Protocols for SQLEXPRESS-&amp;gt; TCP/IP-&amp;gt;Enable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once you have set up Sql Express accordingly you can connect like this:&lt;BR&gt;&amp;nbsp;&lt;BR&gt;import java.sql.*;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;public class test{&lt;BR&gt;&amp;nbsp; public static void main(String[] args) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection c = java.sql.DriverManager.getConnection("jdbc:sqlserver://localhost\\SQLEXPRESS;user=myuser;password=mypass;");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Connected!");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch(Exception ex){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ex.printStackTrace();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;If you are interested enough in this driver to have read this far you may be interested in learning more about our Data Coercion story:&lt;BR&gt;&lt;a href="http://blogs.msdn.com/dataaccess/archive/2005/10/19/482792.aspx"&gt;http://blogs.msdn.com/dataaccess/archive/2005/10/19/482792.aspx&lt;/A&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&lt;BR&gt;Rambling out, the information in this blog is provided "AS IS" and confers no rights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=483206" width="1" height="1"&gt;</description></item><item><title>JDBC Beta 2 connection string properties</title><link>http://blogs.msdn.com/angelsb/archive/2005/09/30/475909.aspx</link><pubDate>Sat, 01 Oct 2005 00:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:475909</guid><dc:creator>angelsb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/475909.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=475909</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=475909</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;As you have probably seen by now we have shipped beta 2 of the Sql&amp;nbsp;Server 2005 JDBC driver.&amp;nbsp;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;A href="http://www.microsoft.com/sql/downloads/2005/jdbc.mspx"&gt;http://www.microsoft.com/sql/downloads/2005/jdbc.mspx&lt;/A&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;We have put a lot of work into this beta and it is with some trepidation that I see it go out the door. We have made a lot of hard decisions, our design philosophy has been to&amp;nbsp;"do it right". This means that there are a lot of changes, some that may break some scenario that worked before (those are the ones I am most interested in hearing about). I can assure you that for every single change we have spent hours pouring over the "Maydene Fisher/Jon Ellis/Jonathan Burce, JDBC API Tutorial and Reference, third edtion" trying to do the right thing and I want to write a few blogs about some of these changes.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;I will start with the easy one, we have cleaned up the connection string properties. We no longer allow duplicate connection string values, we now allow escaping values (using the '{' and '}' brackets) we will now throw an exception whenever you enter a name value pair that we don't understand etc. Besides all of that house keeping we have made some hard decisions, feel free to leave feedback on any of the following:&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;codepage&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been removed, we now keep track of the codepage that you are using. There are some problems with this approach, we are currently supporting the 850+ codepages that the JVM supports. The problem is that there are a number of Codepages that are not supported by the VM that will now fail! In beta 2. We feel that explicitly failing is better than the possible data corruption that we were exposing before. &lt;B style="mso-bidi-font-weight: normal"&gt;Important:&lt;/B&gt; If you depend on a specific codepage that is _&lt;I&gt;not&lt;/I&gt;_ supported by the JVM please contact us directly. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;selectMethod&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has become &lt;B style="mso-bidi-font-weight: normal"&gt;forwardReadOnlyMethod&lt;/B&gt;. We wanted to make it very explicit that this method only affects the statements opened with Forward Only Read Only cursors (the default) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;workstationID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been added, use this to identify the specific workstation in various SQL Server profiling and logging tools&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;trustedAuthentication&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has become &lt;B style="mso-bidi-font-weight: normal"&gt;integratedSecurity &lt;/B&gt;and &lt;B style="mso-bidi-font-weight: normal"&gt;ntlmAuthentication&lt;/B&gt; + &lt;B style="mso-bidi-font-weight: normal"&gt;domain&lt;/B&gt; have been removed. We are working on this feature but quite frankly we are seriously looking at this feature.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;sqlVersion&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been removed, we only support Sql Server 2000 and Sql Server 2005.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;STRONG&gt;enableFailover&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been removed, the implementation had some security issues so we are removing it until we can do it correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;logfile&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been removed we have moved diagnostics to java.util.logging.Logger&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;asciiStringParameters&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; becomes logically inverse &lt;B style="mso-bidi-font-weight: normal"&gt;sendStringParametersAsUnicode. &lt;/B&gt;We don’t always send the string parameters as ascii when not sending them as Unicode, renaming this property makes this clearer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;booleanLiterals&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; has been removed, we were parsing SQL statements and translating Oracle boolean literas to Sql Server numeric values. This is a very incomplete feature so we have decided to postpone Oracle migration features to a later release.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=475909" width="1" height="1"&gt;</description></item><item><title>JDBC getting started with the 2005 JDBC driver for Sql Server 2000 and Sql server 2005</title><link>http://blogs.msdn.com/angelsb/archive/2005/08/01/446452.aspx</link><pubDate>Tue, 02 Aug 2005 05:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446452</guid><dc:creator>angelsb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/446452.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=446452</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=446452</wfw:comment><description>&lt;P&gt;If you had told me a year ago that I would be working on a JDBC driver I would have honestly thought you were kidding. If you had suggested a ship date concurrent with Sql Server 2005 (within a reasonable window) I would have laughed out loud. This is turning out to be a tremendously interesting project in so many ways. I find that I am having a very hard time blogging about this project in general terms, so I am just going to start at the beginning. &lt;/P&gt;
&lt;P&gt;Getting started with the new 2005 JDBC driver,&lt;/P&gt;
&lt;P&gt;download the beta driver from: &lt;BR&gt;&lt;A href="http://www.microsoft.com/sql/downloads/2005/jdbc.mspx"&gt;http://www.microsoft.com/sql/downloads/2005/jdbc.mspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;sample code:&lt;BR&gt;import java.sql.*;&lt;BR&gt;public class test{&lt;BR&gt;&amp;nbsp; public static void main(String[] args) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection connection1 = java.sql.DriverManager.getConnection("jdbc:sqlserver://server;user=myuser;password=mypassword");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Connected!");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement statement1 = connection1.createStatement();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultSet resultset1 = statement1.executeQuery("select * from foo");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(resultset1.next() ){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Foo result = "+resultset1.getObject(1) );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch(Exception ex){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ex.printStackTrace();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;JDBC 3.0 is a well stablished standard, there are no surprises in the code itself. More interesting however is what is going on under the covers, and more importantly what _should be going on_. This is where &lt;STRONG&gt;we are looking for feedback&lt;/STRONG&gt;, let us know what you think:&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");&lt;/STRONG&gt;&lt;BR&gt;You may have a sense of deja vue looking at the name of the new driver, yes you are not mistaken we just switched the name of the old driver around. Confusing? Well maybe a little bit, but have you tried running names through legal? Let me just make it very clear that this driver is not in any way related to the 2000 driver.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;Connection connection1 = java.sql.DriverManager.getConnection("jdbc:sqlserver:/server;user=myuser;password=mypassword");&lt;/STRONG&gt;&lt;BR&gt;This is actually a lot more interesting than it looks (especially considering that this is a non pooled connection). I guess a good starting point would be asking the following question: What is a connection string url? Well, it is url-looking thanks to that “:/” but what it is really for is to allow you to provide information to connect to your server. Lets go over some of the confusing concepts here:&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Duplicate Keywords:&lt;BR&gt;What happens when you enter more than one "user=" keyword value pairs? In ado.net and in oledb the last keyword wins, in odbc the first keyword can win (driver dependent). This has been historically done so that you can override an existing connection string without having to parse it, but it is confusing and bug prone. I would like to break with tradition and throw an exception on duplicates, what do you think?&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Synonyms/Aliases:&lt;BR&gt;Another source of confusion, is it database? databaseName? Both? In what order? Synonyms may be necessary for backwards compatibility but this is a 1.0 driver. The current beta has an interesting bug with synonyms and I see no reason to keep them, any thoughts?&amp;nbsp; &lt;BR&gt;&amp;nbsp;&lt;BR&gt;Handling unknown keywords:&lt;BR&gt;Generic drivers like Oledb or Odbc drivers need to be able to ignore any connection string keywords that they don’t understand. This is not true for a type four driver, I don’t see a good reason to allow these and many reasons to avoid them, we probably need to throw an exception here.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Case sensitivity:&lt;BR&gt;Is database the same as Database? Well it turns out that String manipulation in java is not particularly performant, it is well worth enforcing case sensitivity on connection string keywords to avoid the performance penalty. As long as we start throwing on unknown keywords (see above) this will not be a major customer pain point.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Separators:&lt;BR&gt;Currently we allow “;”, “/”, “:” and a few more separators between connection string keywords, I am not sure that this is a clean model. We should be able to stick to one separator (“;”) plus the (“:”) for port numbers, what do you think?&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Escape characters:&lt;BR&gt;This is a tough one, there is no doubt that we need them, what do we do with names with separators (see above) embedded in them? What about empty as in empty database or empty password? The simplest way to handle this would be to use something like “ ‘ “ as a separator and force you to escape any single quotes that you are going to use in your connection string, ex: user=’O’’neil’. This is not an ideal solution.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;Statement statement1 = connection1.createStatement();&lt;/STRONG&gt;&lt;BR&gt;I will definitely have to have a separate blog about this, there is just too much going on under the covers for a quick overview. I am just going to point out that currently by default we are using a pseudo firehose cursor that may not scale well. I am personally not a great fan of server side cursors but a) JDBC requires them and b) the JDBC api seems to be geared towards using cursors. We may have to make some changes in this space.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;ResultSet resultset1 = statement1.executeQuery("select * from foo");&lt;/STRONG&gt;&lt;BR&gt;Finally a straightforward code statement, you executeQuery and you get a resultset. &lt;BR&gt;&amp;nbsp;&lt;BR&gt;Rambling out, the information in this blog is provided "AS IS" and confers no rights. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=446452" width="1" height="1"&gt;</description></item><item><title>JDBC the new member of the DataWorks family, Sql Server 2005 JDBC Driver (beta 1)</title><link>http://blogs.msdn.com/angelsb/archive/2005/07/01/434721.aspx</link><pubDate>Fri, 01 Jul 2005 18:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:434721</guid><dc:creator>angelsb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/434721.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=434721</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=434721</wfw:comment><description>&lt;P&gt;One of the hardest things for me this last few months was to go into “radio silence” over the project I am currently working on. Now that we have officially shipped a beta I can come back to blogging, albeit from a slightly different angle.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Microsoft has determined that&amp;nbsp;there is a business need for a type four JDBC driver to Sql Server 2000 and 2005, this driver will have full support including PSS and a full time product group to not only maintain this product but to enable new functionality going forward. Make no mistake about it we are truly serious about supporting and improving this driver. &lt;/P&gt;
&lt;P&gt;Presenting the Sql Server 2005 JDBC Driver (beta 1)&lt;BR&gt;&lt;A href="http://www.microsoft.com/sql/downloads/2005/jdbc.mspx"&gt;http://www.microsoft.com/sql/downloads/2005/jdbc.mspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;What it is:&lt;BR&gt;Type 4 JDBC driver to Sql Server 2000 and Sql Server 2005. Designed to work on Java 1.4.2&lt;/P&gt;
&lt;P&gt;Expected release date&lt;BR&gt;Of course we cannot guarantee a release date, but this driver is intended to ship within a reasonable window of Sql Server 2005 launch. &lt;/P&gt;
&lt;P&gt;Primary discussion newsgroup (Hope to see you there soon):&lt;BR&gt;microsoft.public.sqlserver.jdbcdriver &lt;/P&gt;
&lt;P&gt;Entering a bug:&lt;BR&gt;Go to &lt;A href="http://lab.msdn.microsoft.com/productfeedback/default.aspx"&gt;http://lab.msdn.microsoft.com/productfeedback/default.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product/Technology:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQL Server 2005&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Version:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQL Server 2005 Community Technology Preview June 2005 - Developer Edition&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product Language:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;English&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Category:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JDBC Driver&lt;BR&gt;&amp;nbsp;&lt;BR&gt;For me walking into the JDBC space is a great challenge, there is a lot that I don’t know and given the extreme time constraints placed on this product I have very little time to get up to speed on this. For me the fastest way to do this has always been through customer feedback. &lt;BR&gt;If you or your company is interested in trying this JDBC driver drop me a comment. Bugs, suggestions, concerns and “must have” feature requests always welcome.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=434721" width="1" height="1"&gt;</description></item><item><title>Say hello to the DataWorks blog</title><link>http://blogs.msdn.com/angelsb/archive/2005/03/21/399974.aspx</link><pubDate>Mon, 21 Mar 2005 16:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:399974</guid><dc:creator>angelsb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/399974.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=399974</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=399974</wfw:comment><description>&lt;p&gt;It is a fair assumption that you have not heard about DataWorks, that is ok most folks arround Microsoft haven't either. MDAC on the other hand probably sounds familiar... DataWorks is the Microsoft Product Unit in which I work, it is responsable for most of the general data access technologies in&amp;nbsp;Microsoft. If you are reading this blog you may also be familiar with many of DataWorks other&amp;nbsp;"inmates": Brad Rhodes, Pablo Castro, Sushil Chordia, David Sceppa, Shelby Goerlitz ... &lt;/p&gt; &lt;p&gt;Now you can contribute to this product unit directly :&lt;/p&gt; &lt;p&gt;&lt;A href="http://blogs.msdn.com/dataaccess"&gt;&lt;strong&gt;&lt;font face="Tahoma" color="#0000ff" size="2"&gt;http://blogs.msdn.com/dataaccess&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma" size="2"&gt;So far it consists of only&amp;nbsp;a welcome message from our&amp;nbsp;PUM (Product Unit Manager) - Alyssa.&amp;nbsp;&amp;nbsp;Expect good things in the future!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=399974" width="1" height="1"&gt;</description></item><item><title>ADO.NET 2.0 and System.Transactions, downlevel functions and nested scopes</title><link>http://blogs.msdn.com/angelsb/archive/2005/02/12/371557.aspx</link><pubDate>Sat, 12 Feb 2005 05:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:371557</guid><dc:creator>angelsb</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/angelsb/comments/371557.aspx</comments><wfw:commentRss>http://blogs.msdn.com/angelsb/commentrss.aspx?PostID=371557</wfw:commentRss><wfw:comment>http://blogs.msdn.com/angelsb/rsscomments.aspx?PostID=371557</wfw:comment><description>&lt;p&gt;As with most of my blog posts this started as a customer question, the core of the problem was that he was not sure how he was expected to use TransactionScopes in methods that call other methods or "downlevel" functions as he named them. &lt;/p&gt; &lt;p&gt;There are two important concepts to keep in mind. &lt;/p&gt; &lt;p&gt;1) downlevel functions should not know or care about&amp;nbsp;what happens on the functions that call them. Don't&amp;nbsp; pass TransactionScope as&amp;nbsp;properties, don't assume that there is an existing transaction, etc.&amp;nbsp;&lt;/p&gt; &lt;p&gt;2)You can nest TransactionScopes (with the default TransactionScopeOption, "Required") or isolate downlevel functions from outer TransactionScopes (with the optional Suppress and RequiresNew TransactionScopeOption(s) )&lt;/p&gt; &lt;p&gt;Here is some pseudo code for a small stress app&amp;nbsp;I wrote that shows some of this off:&amp;nbsp;&lt;/p&gt; &lt;p&gt;InsertMoneyIntoAccount() //doesn’t use transactions&lt;/p&gt; &lt;p&gt;RemoveMoneyFromAccount() //doesn’t&amp;nbsp; use transactions&lt;/p&gt; &lt;p&gt;TransferMoney() //creates TransactionScope then calls RemoveMoney and InsertMoney&lt;/p&gt; &lt;p&gt;TransferMoneyWithExtraCharges //creates TransactionScope, calls TransferMoney and RemoveMoneyFromAccount&lt;/p&gt; &lt;p&gt;// the TransactionScope in TransferMoney will be nested inside the outer Scope.&lt;/p&gt; &lt;p&gt;A more advanced (and to my way of thinking less recommended) concept is nesting Scopes where you do not want the behavior in the downlevel functions to affect outer scopes, you can do this by using the TransactionScopeOption.RequiresNew and Suppress enum values.&lt;/p&gt; &lt;p&gt;TransferVerifyAndTransfer() //creates a TransactionScope, calls Transfer, uses retry logic to call VerifyTransfer multiple times and once the transfer is verified calls Transfer again. The main problem here is that we don’t want a fatal exception in VerifyTransfer to roll back the transaction since we are building in logic to retry on exception.&lt;/p&gt; &lt;p&gt;VerifyTransfer() //creates a TransactionScope with TransactionScopeOption.Suppress, this guarantees that it will not affect the scopes in uplevel functions.&lt;/p&gt; &lt;p&gt;//It is important to realize that some exceptions even when handled can affect the transaction. In the example below if we don’t use the Suppress option for B’s TransactionScope then the ExecuteNonQuery (level 20 exception) will cause A’s outer TransactionScope to be rolled back.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void A(){&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (TransactionScope transactionscope1 = new TransactionScope()){&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.B( );&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transactionscope1.Complete()&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void B(){&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //always create a TransactionScope with the “using” language construct.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (TransactionScope transactionscope1 = new TransactionScope(TransactionScopeOption.Suppress)){&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //always create a connection with the “using” language construct. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SqlConnection sqlconnection1 = new SqlConnection(connectionstring)){ &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlconnection1.Open();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand sqlcommand1 = sqlconnection1.CreateCommand();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlcommand1.CommandText = "raiserror ('my error', 20, 20) with log";&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlcommand1.ExecuteNonQuery();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(Exception e){&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(e.Message); &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transactionscope1.Complete();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } //Here sqlconnection1 is _guaranteed_ to be disposed. I think it is a good idea to do this before the scope is disposed.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;Rambling out: This post is provided "AS IS" and confers no rights. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=371557" width="1" height="1"&gt;</description></item></channel></rss>