At the Intersection of PHP and Microsoft
In this morning’s keynote address at the Professional Association of SQL Server (PASS) Summit 2011, Quentin Clark (Corporate Vice President at Microsoft) announced that a preview of the Microsoft SQL Server ODBC Driver for Linux will soon be widely available to customers. Yes, you read that right. Microsoft plans to release a driver that provides 1st class access to SQL Server from Linux/Unix operating systems. Recently, Microsoft has been working closely with a handful of partners to get feedback on private releases of the driver. A publicly available preview release of the driver is planned for later this fall.
Prior to the announcement, I had a chance to chat with Shekhar Joshi, Program Manager for the driver. He filled me in on a few more details about the driver:
Shekhar told me that his team is confident that this is will be a high-quality release, in part due to how the driver is being developed. His team is using the existing, reliable ODBC for Windows driver (a.k.a. SQL Server Native Client, or SNAC) as a starting point. They are carefully modifying the existing code so that it will compile for Linux/Unix operating systems, and testing it rigorously.
What makes me especially excited about this release is that this is a HUGE step toward interoperability. For a while now, I’ve been a supporter and proponent of interoperability here at Microsoft, and I’ve seen lots of progress on this front. This announcement, however, is perhaps the most significant step I’ve seen in my tenure at Microsoft. Add this to yesterday’s announcement of an Apache Hadoop distribution for Windows Server and Windows Azure, and you’ve got some real momentum on the interoperability front.
If you’re at SQL PASS and would like to learn more about the SQL Server ODBC Driver for Linux, be sure to attend the Developing Multi-Platform Applications for Microsoft SQL Server and Azure session (AD-211-M) this afternoon at 5:00 (room 4C4). (Presentations will also be available online later.) There is also a panel discussion with the SQL Connectivity Leadership team (SQL Connectivity Leadership Unplugged (AD-101-M)) on Friday at 2:30 (room 612) that should be interesting.
Share this on Twitter
On the subject of interoperability , are we likely to see support for Node.js especially since microsoft is now supporting it? Or is this a moot point since ODBC support itself will be enough?
The short answer: Yes. Here are some links that provide the full story:
What license(s) will it be under?
The driver won't be Open Source. It will be available as a binary only. The license will be similar to the lisence that our JDBC is under (which is you can see here: www.microsoft.com/.../details.aspx). I'll have to get back to you about what the differences might be.
Never thought that i will say so, but MS moves to right direction
Btw, where can we watch the progress and subscribe for evens related to this driver?
I will blog about news related to this driver here. You can also watch these blogs/resources for updates:
"Notable driver features (in addition to what you would expect in an ODBC driver) include support for the Kerberos authentication protocol, SSL, and client-side UTF-8 encoding."
In this context, by "Kerberos authentication protocol," do you mean that it will be possible to connect to a SQL Server instance in Windows authentication mode using this new driver on Linux? That would be great.
Yes, that is what it means.
Has anyone tested this with named instances? Using unix sqlcmd to test the connection for example running
sqlcmd -S my_server -d my_dbl -U user -P pass -r
works fine, however if you introduce a named instance e.g.
sqlcmd -S my_server\MY_INSTANCE -d my_dbl -U user -P pass -r
the connection fails. Although the unix docs suggest only a single backslash is required ive tried escaping my_server\\MY_INTSANCE with no luck !?
Unfortunately, the Instance name is not supported with the Linux ODBC implementation. You'll need to specify a TCP port for the instance using the SQL Server Configuration Manager. Here are some details ( msdn.microsoft.com/.../ms177440.aspx )
I'll be filing a documentation bug to correct this.
Where is the 32-bit version?
Did Microsoft ever release a 32 bit driver? Looking for a RHEL5/32 bit solution.