<?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>SQL Azure Team Blog : Relational Capabilities</title><link>http://blogs.msdn.com/ssds/archive/tags/Relational+Capabilities/default.aspx</link><description>Tags: Relational Capabilities</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Try SQL Azure Database CTP Today</title><link>http://blogs.msdn.com/ssds/archive/2009/08/18/9874133.aspx</link><pubDate>Tue, 18 Aug 2009 18:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9874133</guid><dc:creator>davidrob</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/ssds/comments/9874133.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=9874133</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto" title=SQL-Azure_rgb border=0 alt=SQL-Azure_rgb src="http://blogs.technet.com/blogfiles/dataplatforminsider/WindowsLiveWriter/MicrosoftSQLServicesisnowMicrosoftSQLAzu_958F/SQL-Azure_rgb_thumb.png" mce_src="http://blogs.technet.com/blogfiles/dataplatforminsider/WindowsLiveWriter/MicrosoftSQLServicesisnowMicrosoftSQLAzu_958F/SQL-Azure_rgb_thumb.png"&gt;&lt;/P&gt;
&lt;P&gt;Check out the &lt;A href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx"&gt;free trial of Microsoft® SQL Azure Database&lt;/A&gt; Community Technology Preview (CTP).&amp;nbsp; SQL Azure Database, a part of the Windows Azure platform, is a cloud-based database service built on Microsoft SQL Server technology.&amp;nbsp;&amp;nbsp; With SQL Azure organizations will benefit from a pay-as-you grow model with enterprise-class availability, data protection, scalability, and security. &lt;/P&gt;
&lt;P&gt;Also available as a CTP is the SQL Server Driver for PHP 1.1, which provides new capabilities for building PHP applications and support for SQL Azure, enabling developers to build PHP apps with relational database capabilities using SQL Server or SQL Azure Database.&amp;nbsp; The &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9"&gt;CTP for the SQL Server Driver for PHP&lt;/A&gt; is available for download today. &lt;/P&gt;
&lt;P&gt;With the explosion of data-driven Web 2.0 applications, along with the need to extend existing applications and build innovative data solutions in the cloud – these are exciting milestones.&amp;nbsp; With SQL Azure, developers building Web 2.0, ASP.NET and PHP applications can use familiar tools and data models to develop on a pay-as-you-grow, secure, scalable and highly available database service at minimal infrastructure cost. In fact, there are really no comparable solutions available today --- we are leading the industry by offering a relational database service.&amp;nbsp;&amp;nbsp; When hosting your application in Windows Azure and with SQL Azure as your cloud database, building credible, reliable cloud-based applications becomes very easy.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The SQL Azure &lt;/B&gt;Database CTP includes:&lt;/P&gt;
&lt;P&gt;· Relational data model supporting &lt;A href="http://msdn.microsoft.com/en-us/library/ms189826.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms189826.aspx"&gt;Transact-SQL (T-SQL)&lt;/A&gt;, including T-SQL stored procedures. Access SQL Azure with familiar data access APIs such as ODBC,&amp;nbsp;ADO.Net, PHP, etc.&amp;nbsp;&amp;nbsp; The high degree of compatibility with SQL Server enables easy migration of existing Line of Business (LOB) or Web applications to the cloud.&lt;/P&gt;
&lt;P&gt;· Self-provisioning, auto-healing and disaster recovery, with high availability and no physical database administration. Self service provisioning means you can provision any number of databases and not have to worry about machines, disks, or server configuration.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Pay-as-you-grow multi-tenant scalable service model. &lt;/LI&gt;
&lt;LI&gt;Efficiencies from an enterprise class data center without the administrative overhead. &lt;/LI&gt;
&lt;LI&gt;Support for familiar tools so developers can leverage existing skills to speed time to solution &lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;SQL Server Driver for PHP CTP will include:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Support for SQL Azure, PHP version 5.3, and UTF-8 &lt;/LI&gt;
&lt;LI&gt;Support for Scrollable results and row count &lt;/LI&gt;
&lt;LI&gt;Migration to the SQL Server 2008 Native Client framework with enhanced performance &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;SQL Azure Database will be available as a free trial until the service goes live in November. SQL Azure Database will be available in two editions: Web Edition, which will include up to 1 GB of relational data, priced at $9.99 per month, and Business Edition, which will include up to 10 GB of data, priced at $99.99 per month. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Other Resources:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx"&gt;Register for SQL Azure Database CTP&lt;/A&gt; &lt;I&gt;(Note: due to high demand there may be delays in issuing invitation codes as we onboard new participants.)&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://www.microsoft.com/azure/sql.mspx" target=_blank mce_href="http://www.microsoft.com/azure/sql.mspx"&gt;Additional information on SQL Azure&lt;/A&gt;&lt;U&gt; &lt;/U&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en"&gt;Windows Azure Platform Training Kit&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9"&gt;Download SQL Server Driver for PHP 1.1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://msdn.microsoft.com/en-us/data/cc299381.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/data/cc299381.aspx"&gt;Additional information on SQL Server Driver for PHP&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9874133" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Database+as+a+Service/default.aspx">Database as a Service</category><category domain="http://blogs.msdn.com/ssds/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SDK/default.aspx">SDK</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Relational+Capabilities/default.aspx">Relational Capabilities</category><category domain="http://blogs.msdn.com/ssds/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.msdn.com/ssds/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Scalability/default.aspx">Scalability</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://blogs.msdn.com/ssds/archive/tags/CTP/default.aspx">CTP</category></item><item><title>Accessing SDS From PHP</title><link>http://blogs.msdn.com/ssds/archive/2009/03/27/9515262.aspx</link><pubDate>Sat, 28 Mar 2009 02:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9515262</guid><dc:creator>nigele</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/ssds/comments/9515262.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=9515262</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Hi folks, this is Nigel Ellis and I’m an architect on the SQL Services team.&amp;nbsp;&amp;nbsp; I’ve just returned from &lt;/SPAN&gt;&lt;A href="http://visitmix.com/" target=_blank&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT color=#0000ff&gt;MIX2009&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt; where I announced our new relational service in my &lt;/SPAN&gt;&lt;A href="http://videos.visitmix.com/MIX09/T06F" target=_blank&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;What's New with SQL Data Services talk&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;.&amp;nbsp;&amp;nbsp; You can watch the full video and download the slides from &lt;/SPAN&gt;&lt;A href="http://videos.visitmix.com/MIX09/T06F" target=_blank&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;here&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&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&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;During my talk, I demonstrated running an application on Windows Azure using PHP to interact with a database hosted in our new relational SQL data service.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I used the &lt;/SPAN&gt;&lt;A href="http://us3.php.net/manual/en/book.uodbc.php" target=_blank&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;unified ODBC support&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt; built in to PHP to interact with SDS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;I’ve included a sample code snippet below which uses an SDS server &lt;I style="mso-bidi-font-style: normal"&gt;server.data.dev.mscds.com&lt;/I&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: #d9d9d9; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt; mso-background-themecolor: background1; mso-background-themeshade: 217; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div"&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT color=#0000ff face="Courier New"&gt;&amp;lt;?php&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$host&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"server.data.dev.mscds.com"&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$dbname&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"database"&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$dbuser&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"user@server"&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$dbpwd&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"password"&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$driver&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"{SQL Server Native Client 10.0}"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="COLOR: green"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// Build connection string&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;$dsn&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;"Driver=&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$driver&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;;Server=&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$host&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;;Database=&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$dbname&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;;Encrypt=true;TrustServerCertificate=true";&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;if &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(!(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$conn&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;@&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;odbc_connect&lt;/FONT&gt;&lt;SPAN style="COLOR: windowtext"&gt;(&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$dsn&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: windowtext"&gt;,&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$dbuser&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;,&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;B&gt;$dbpwd&lt;/B&gt;&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;))) {&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;die&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;"Connection error: "&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;.&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; odbc_errormsg&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;())&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="COLOR: green"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// Got a connection, run simple query&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;if &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$qh&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;@&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;odbc_exec&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$conn&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;,&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: olive"&gt;"SELECT A, B FROM myTable"&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)) {&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Dump query result&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;$rows&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;0&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;while &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;B&gt;$row&lt;/B&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;=&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;@&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;odbc_fetch_object&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$qh&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; &lt;SPAN style="mso-tab-count: 1"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;{&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;echo&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;"&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$rows&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;: &lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$row&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;-&amp;gt;A &lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;$row&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;-&amp;gt;B\r\n"&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;$rows&lt;/B&gt;&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;++&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT color=#0000ff face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;@&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;odbc_free_result&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$qh&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;else &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;{&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Error running query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;echo&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: olive"&gt;"Query error: "&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;.&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt; odbc_errormsg&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$conn&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;))&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;o:p&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;SPAN style="COLOR: green"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// Free the connection&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;@&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;odbc_close&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;(&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;$conn&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: purple"&gt;)&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=Code&gt;&lt;FONT color=#0000ff face="Courier New"&gt;?&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;In this example, I’m using the &lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/data/aa937733.aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;SQL Server native ODBC driver&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt; which ships out of band from the operating system.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Other driver choices may be used as outlined in the table below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid #7BA0CD 1.0pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-yfti-tbllook: 1184" class=MsoTableMediumShading1Accent1 border=1 cellSpacing=0 cellPadding=0 class="MsoTableMediumShading1Accent1"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #4f81bd; BORDER-TOP: #7ba0cd 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-themecolor: accent1; mso-border-themetint: 191" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 5"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: white; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-themecolor: background1"&gt;Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #4f81bd; BORDER-TOP: #7ba0cd 1pt solid; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-themecolor: accent1; mso-border-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 1"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: white; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-themecolor: background1"&gt;Comments&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 68"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 64"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Name of the virtual SDS data server to connect to.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;This takes the form of &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;servername&lt;/I&gt;&lt;/B&gt;&lt;I style="mso-bidi-font-style: normal"&gt;.domain_name&lt;/I&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In the example, I’m using a virtual server provisioned in the SDS pre-production domain &lt;I style="mso-bidi-font-style: normal"&gt;data.dev.mscds.com&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 132"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Driver&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 128"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;ODBC driver to use:&lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{SQL Server}&lt;/I&gt; – Legacy SQL Server driver&lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{SQL Native Client}&lt;/I&gt; – &lt;A href="http://msdn.microsoft.com/sv-se/library/ms131415(en-us,SQL.90).aspx"&gt;SQL 2005 Native Client&lt;/A&gt;&lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{SQL Server Native Client 10.0}&lt;/I&gt; – &lt;A href="http://msdn.microsoft.com/sv-se/library/ms131415(en-us).aspx"&gt;SQL 2008 Native Client&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 68"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Database&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 64"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Name of the target database to connect to.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If left unspecified the connection will default to the &lt;I style="mso-bidi-font-style: normal"&gt;master&lt;/I&gt; database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 132"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Encrypt&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 128"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Force use of encryption over TDS – if left unspecified, SDS will force encryption&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 68"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;TrustServerCertificate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 64"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Trust the certificate returned by the data service – this is currently required due to implementation restrictions that will be relaxed before we release &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 132"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;UID&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 128"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Username of the user – form should be &lt;I style="mso-bidi-font-style: normal"&gt;user@server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/I&gt;Can be specified in the connection string or as argument to odbc_connect()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #7ba0cd 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 63.9pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63" vAlign=top width=85&gt;
&lt;P style="mso-yfti-cnfc: 68"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;PWD&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #7ba0cd 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 333pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d3dfee; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #7ba0cd 1pt solid; PADDING-TOP: 0in; mso-background-themecolor: accent1; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7BA0CD 1.0pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" vAlign=top width=444&gt;
&lt;P style="mso-yfti-cnfc: 64"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Password of the user account.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Can be specified in the connection string or as argument to odbc_connect()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;For those familiar with ODBC you’ll note this pattern is also used to connect to a regular SQL Server instance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The only change in the code is the name of the server, use of encryption and the use of SQL standard security (username and password). &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;In addition to the ODBC driver patterns, there is an open source &lt;/SPAN&gt;&lt;A href="http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Native PHP driver for SQL Server&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This driver is a native client library built over the &lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/sv-se/library/ms131415(en-us,SQL.90).aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;SQL 2005 Native Client&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Today the driver requires the target SQL server support &lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms131686.aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;MARS&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;This prevents the driver from working with SQL 7.0, 2000 and SQL Data Services as MARS is not supported.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The good news is that we’re working with the native driver folks to expose MARS as a configuration option; this support is already provided by the underlying ODBC driver. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;This change allows the use of the PHP Native driver with SDS without requiring SDS to support MARS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;In the end, you’ll see the patterns used to access SDS are identical to those you use to access SQL Server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"&gt;Nigel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9515262" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Database+as+a+Service/default.aspx">Database as a Service</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Azure+Services+Platform/default.aspx">Azure Services Platform</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/ssds/archive/tags/MIX+09/default.aspx">MIX 09</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Relational+Capabilities/default.aspx">Relational Capabilities</category></item><item><title>The no spin details on the new SDS features</title><link>http://blogs.msdn.com/ssds/archive/2009/03/10/9469228.aspx</link><pubDate>Tue, 10 Mar 2009 18:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9469228</guid><dc:creator>davidrob</dc:creator><slash:comments>74</slash:comments><comments>http://blogs.msdn.com/ssds/comments/9469228.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=9469228</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Today we announced the details of our plans to accelerate the delivery of core relational database features as part of SDS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There has been quite a bit of buzz about SDS over the past couple weeks and it is great to be able to share the details more broadly. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If we flash back about a year ago to Mix 08, Nigel Ellis got up on stage to introduce the community to SDS which, at the time, was a flexible entity based cloud database that you accessed using standard internet protocols. We made this announcement with the promise that more relational capabilities would be coming - and they did. But the universal feedback we received from our TAP partners and other early adopters was the need for a relational database delivered as a service. This was extremely valuable feedback and drove us to more aggressively investigate ways in which we could deliver these features. As a result of that work and based on the progress we’ve since made in the product team, we are announcing that SDS will deliver full relational database capabilities as a service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;While we knew we needed to accelerate our plans we also knew we needed to hold true to some on the founding principles we had when we started our journey. Things like High Availability, Fault Tolerance, Friction Free Provisioning, Pay As You Grow Scaling, Immediate Consistency. We are still delivering on these promises and have added to the mix true relational capabilities, T-SQL and compatibility with the existing developer and management tools ecosystem. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;What does this mean for developers? Developers will be able to very easily provision themselves a logical server and database and begin developing against it immediately using the existing tools and technologies that they are accustomed to. We are providing an experience where a developer can take an existing application and just change the connection string to point it to the cloud and have it just work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;How will we do it? Three letters TDS. TDS stands for Tabular Data Stream and it's the published protocol that clients use to communicate with SQL Server. From its inception, SDS has always been built on the SQL Server technology foundation and it just made sense to allow our users to access their data via TDS. Most importantly for developers, this means symmetric SQL Server functionality and behavior combined with compatibility with the existing tools you are familiar with. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Tables?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Stored Procedures?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Triggers?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Views?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Indexes?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;Visual Studio Compatibility?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;ADO.Net Compatibility?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&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;/SPAN&gt;ODBC Compatibility?...Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;To be clear, the above is not a complete list of supported features.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, given the feature set we are planning to support in SDS v1, a majority of database applications will “just work”, allowing developers to target on and off-premises deployments with essentially the same code base.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The initial scenarios we are targeting are things like web and departmental applications. We will be posting some content to our &lt;A href="http://msdn.microsoft.com/sql/dataservices" target=_blank mce_href="http://msdn.microsoft.com/sql/dataservices"&gt;MSDN Dev Center&lt;/A&gt; in the coming weeks with specifics and getting started guidance but I encourage everyone to download &lt;A href="http://www.microsoft.com/express/sql/download/" target=_blank mce_href="http://www.microsoft.com/express/sql/download/"&gt;SQL Express&lt;/A&gt; and the &lt;A href="http://www.microsoft.com/azure/sdk.mspx" target=_blank mce_href="http://www.microsoft.com/azure/sdk.mspx"&gt;Windows Azure SDK&lt;/A&gt; to get started.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The core foundational components of SDS have not changed. This is still the same architecture that we have been telling you about for the past year and that underlies the current CTP bits. It is the same architecture that is powering some of Microsoft's key service properties and in the next few months will be used to store 100’s of terabytes of data in production deployments. Our early adopters (both internal and external) have shaken it down pretty well and we feel very confident about these bits.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The only difference is we are now providing a rich SQL model while maintaining the high availability, fault tolerant and scale aspects of the system. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;What about the ACE (Authority, Container, Entity) data model and developer experience? Since Windows Azure storage has a similar data model (property bag) and developer experience, we will stop supporting the current ACE Model sometime in the future. Does this mean you can't access your relational data via internet friendly protocols like REST?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Not at all. You can still access your relational data (located on premises or in the cloud) via HTTP/REST using the ADO.Net Data Services framework. The compatibility with existing tools and technologies is a really important point to drive home and a super important value add that Microsoft provides.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Breadth and OSS developer support will continue to be a high priority for us and we will continue to support and provide breadth development libraries for all mainstream development technologies including PHP, Ruby and Java.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If it works with SQL Server, it will largely work with SQL Data Services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;What about Security? All communications with our service is SSL encrypted and our initial authentication will be using SQL Authentication.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Of course, SQL Data Services remains one of the key developer services of the Azure Services&amp;nbsp;Platform - that hasn't changed. Consuming SDS from within an Azure application has never been easier and we will continue to ensure this is a feature rich, friction-free experience. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I have said a lot, so go ahead and digest all of this. What else do you want to know? As I am sure you all have more questions, feel free to email me at david.robinson@microsoft.com and I'll post the questions and answers for all to see.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9469228" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/SQL+Data+Services/default.aspx">SQL Data Services</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Relational+Capabilities/default.aspx">Relational Capabilities</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SDS/default.aspx">SDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.msdn.com/ssds/archive/tags/TDS/default.aspx">TDS</category></item></channel></rss>