Introducing the new Microsoft ODBC Drivers for SQL Server
Today, we are happy to announce availability of new Microsoft ODBC Drivers for SQL Server on Windows and for SQL Server on Linux.
Introducing the new Microsoft ODBC Drivers for SQL Server
As outlined in a previouspost, Microsoft is adopting ODBC as the de-facto standard for native access to SQL Server and Windows Azure SQL Database. We have provided longstanding support for ODBC on Windows and, in the SQL Server 2012 timeframe, released support for ODBC on Linux (Red Hat Enterprise Linux 5 and 6, and SUSE Enterprise Linux). Microsoft is aligning and renaming the previous ODBC drivers as follows:
- SQL Server Native Client (SNAC) along with its ODBC functionality is now called Microsoft ODBC Driver 11 for SQL Server on Windows
- Microsoft SQL Server ODBC Driver 1.0 for Linux along with its functionality is now called Microsoft ODBC Driver 11 for SQL Server on Linux
This change will result in our ODBC drivers for Windows and Linux being better aligned going forward. We hope that this change makes it easier for you to find the right driver for your needs and makes it easier to stay informed of new releases. Today’s availability marks the first combined release for your use.
These new ODBC drivers also include additional functionality not available in the previous versions; learn more about the new drivers.
New key features for the Windows version.
- Driver-aware connection pooling: Driver-aware connection pooling allows driver writers to customize the connection pooling behavior in their ODBC driver.
- Connection resiliency in the Windows ODBC Driver: To help improve resiliency for cloud scenarios, the ODBC driver on Windows can restore broken connections along with a session state to a Windows Azure SQL Database.
- Asynchronous Execution (Polling Method): An application thread can call an ODBC function in asynchronous mode and the function can return before the
operation is complete, allowing the application thread to perform other tasks. Beginning in the Windows 8 SDK, you can determine that an asynchronous
operation is complete using the notification method. Learn more about Asynchronous Execution (Polling Method).
Download the Microsoft ODBC Driver 11 for SQL Server on Windows
Download Command line Utilities for Microsoft ODBC Driver 11 for SQL Server
New key features for the Linux version
- Connect Linux to Windows Azure SQL Database: You can now connect from both Linux on-premises applications and Windows Azure Linux-supported VMs to Windows Azure SQL Database.
- High Availability Support: Support for SQL Server 2012 AlwaysOn Availability Groups to enable High Availability and Disaster Recovery for Linux-based applications.
- SQL Trace Support: Expanded tracing now supports Linux ODBC to help you know what your Linux-based application is doing all from the same SQL Trace experience.
Download Microsoft ODBC Driver 11 for SQL Server on Red Hat Linux
Shekhar Joshi, Senior Program Manager, SQL Server Group, Microsoft
Comments
Anonymous
January 24, 2013
Is this the preparation for deprecating SQL Server Native OLE DB drive? sqlserverrider.wordpress.comAnonymous
January 24, 2013
At the very least, this release shows that we have a way to move forward with the ODBC driver for SQL Server, outside of SQL Server Native Client. David Schwartz SQL Server Documentation team dschwart@microsoft.comAnonymous
January 24, 2013
This doesn't have anything to do with using the OLEDB drivers for opening XLS spreadsheets etc, right?Anonymous
January 24, 2013
This is an ODBC release.Anonymous
February 11, 2013
Where is the MAC OS X version? It would make more sense to have an ODBC driver for Mac ten for Linux. There is an Office for Mac but not for Linux...Anonymous
February 11, 2013
It has been discussed. But no plans for it yet.Anonymous
February 23, 2013
This driver version is 11.0.2270.0, release at 1/15/2013, Microsoft® SQL Server® 2012 SP1 Native Client version is 11.0.3000.0, released at 1/9/2013, Why lower version released later ?Anonymous
March 04, 2013
The License text excludes production use. From the license file:
- INSTALLATION AND USE RIGHTS. One user may install and use any number of copies of the software on your devices to design, develop and test your programs. Why is production excluded? Is there a issue, concern, or cost to use in production?
Anonymous
March 04, 2013
Are you looking at Windows or LINUX? Does the License text that you are looking at differ from the license text for SQL Server Native Client in SQL Server 2012? Can you check that?Anonymous
March 04, 2013
We are on LINUX writing scripts and we want to connect to SQL Servers with sqlcmd and bcp. I have the tools locally on my windows machine. Do you know where I would find the license text?Anonymous
March 04, 2013
The license text is displayed when you install. Visit www.microsoft.com/.../details.aspx and start an installation. You will be prompted to accept/agree to the license, which you can read.Anonymous
March 04, 2013
No, wait,. you said that you were on LINUX. I was using Windows. I don't have a LINUX computer setup just at this moment, so I am going from memory. Do you see files installed in your Linux ODBC driver directory? A license text file should be there. Let me know.Anonymous
March 04, 2013
OK, one more email as I flair away at this ...I just looked at www.microsoft.com/.../details.aspx and there it says under "INSTALLING THE MICROSOFT ODBC DRIVER 11 FOR SQL SERVER ON LINUX ", that you have to read the license and agree to it. So, just run the install for LINUX ODBC driver to see the license.Anonymous
March 29, 2013
Can you provide more information on this sentence: "To help improve resiliency for cloud scenarios, the ODBC driver on Windows can restore broken connections along with a session state to a Windows Azure SQL Database." Does this only work with ODBC, or did Microsoft update the ADO and ADO.NET providers to handle disconnects as well? Also, does this only work with Winodws Azure SQL databases? The clients don't handle disconnects/failovers in database mirroring or AlwaysOn Availability groups? Thanks, HeatherAnonymous
March 29, 2013
Yes, currently only in the Windows Microsoft ODBC Drivers for SQL Server. I don't think this has been released yet in SqlClient. It works with any server that has been enabled to support it. I think that is currently only SQL Azure.Anonymous
April 11, 2013
why not one example of a valid odbc.ini fileAnonymous
April 11, 2013
Does this topic have the information that you are looking for? msdn.microsoft.com/.../hh568455.aspxAnonymous
April 15, 2013
Is connecting to a named instance using the Linux ODBC driver supported yet? According to social.msdn.microsoft.com/.../c3dc09bb-7ac6-47d8-a188-564b57b192c6 this has been a limitation before. However I can't find anything in the documentation about this limitation, but I have not been able to connect to a named instance either. (I have been able to connect to a named instance with the FreeTDS driver, but I much rather use the driver provided by the actual creator of the server software itself!) The documentation lists "Server" as an available connection keyword but the detailed description of this keyword does not mention limitations in the Linux ODBC driver in this regard. Also no mention of this on the "Known Issues" or "Programming Guidelines" page. So is connecting to a named instance supposed to work or might the documentation be a little unclear on this?Anonymous
April 15, 2013
Hi Martijn, Server = tcp:servername, portnumber Did you try specifying the server name and port number of the named instance?Anonymous
April 15, 2013
Hi David, Thank you for your very quick reply! Yes, connecting using a port number works just fine, however we wanted to be able to connect to instances with dynamic ports as well (since we don't always control the server). So you confirm that connecting to a named instance is not supported in the Linux version of the driver. Are there any plans to support this in the near future?Anonymous
April 16, 2013
I spoke with the developer yesterday and he said that you can connect to a named instance via the port number. I can check with him later today, or maybe tomorrow, about dynamic ports.Anonymous
April 16, 2013
Ok, that would be great! Thanks in advance!Anonymous
April 16, 2013
OK, I checked, use of dynamic ports implies named instance resolution, which the Linux ODBC driver does not do. If you need to connect to a named instance on a static port, you can use Server=servername,port#Anonymous
April 16, 2013
Thank you for checking! Not the answer I was hoping for (I was hoping that I did something wrong) but at least I have an answer now from an authoritative source. Are there any plans to support named instance resolution in the near future? (Like in the next release? ;-) )Anonymous
April 17, 2013
I do not know what might be on the list of features to add to the next release of the Linux ODBC driver. And I do not know when a new release of the Linux ODBC driver is scheduled.Anonymous
April 17, 2013
Any idea how to get this odbc driver into Ubuntu?Anonymous
April 17, 2013
Hi Chris, Try this explanation: codesynthesis.com/.../microsoft-sql-server-odbc-driver-linux Here at work we use RedHat but I also tried it at home on a Debian system (so this should work for Ubuntu as well). The only things that I needed to do was:
- Download the redhat el5 version of the driver
- build unixodbc 2.3.0 using the configure options Microsoft mentions in their installation instructions
- force the installer to install the driver (you have to force it because it will not find all dependencies since it is not a redhat system) or unpack it yourself (read the install script), or just removed some checks from the install script... ;-)
- run ldd on the library in /opt/microsoft/msodbcsql/lib64 to check for missing libraries If there are any libraries missing, install them. On my system the only "missing" libraries were libssl.so.6 and libcrypto.so.6. However libssl was installed, they were only "missing" because of a naming scheme difference between redhat and debian. The libraries are compatible however, so you only have to create symlinks to them in the /usr/lib directory (libssl.so.6 -> libssl.so.0.9.8 and libcrypto.so.6 -> libcrypto.so.0.9.8). After these small modifications it worked on my debian system (didn't test it very thoroughly though, just needed it to test connecting to a named instance), so this should work just as well on your ubuntu system.
Anonymous
April 22, 2013
Hi, A previous commenter asked the question copied below but I don't see a response. Dongsheng song 24 Feb 2013 2:02 AM# This driver version is 11.0.2270.0, release at 1/15/2013, Microsoft® SQL Server® 2012 SP1 Native Client version is 11.0.3000.0, released at 1/9/2013, Why lower version released later ? I have the same question. Is this essentially the same driver as the SQL Native Client 11.0 but renamed and "rebranded" for go-forward? We make specific recommendations to our users on using the latest released driver build for the major platform version (i.e. latest 2005 driver for any 2005 instance even if instance is RTM) and this new driver could change that significantly. Thanks! AnsleyAnonymous
April 22, 2013
Hi Ansley, The Microsoft ODBC Driver for SQL Server for Windows is indeed a superset of the functionality that shipped in the ODBC driver in SQL Server Native Client in SQL Server 2012. As it says on msdn.microsoft.com/.../jj730314.aspx, "ODBC Driver 11 for SQL Server contains new features as well as all the features that shipped with ODBC in SQL Server 2012 Native Client." Regarding version, good question. Let me look into that. David Schwartz SQL Server documentation team dschwart@microsoft.comAnonymous
April 22, 2013
The comment has been removedAnonymous
April 22, 2013
David, 11.0.3000.0 was from installing the Native Client released with 2012 SP1 (www.microsoft.com/.../details.aspx). Prior to that, I had 11.00.2100.60 (www.microsoft.com/.../details.aspx) with was the RTM driver. I haven't seen 11.0.2218.0 around before. AnsleyAnonymous
April 22, 2013
I chatted with one of the devs about this and he said that it is not useful to compare version numbers of SQL Server Native Client with version numbers of the new ODBC driver. Even if a version of SQL Server Native Client is higher, there will be no new features in SQL Server Native Client. Hope this helps, DavidAnonymous
April 24, 2013
Hello David, First let me send y'all a big thanks! I just recently started on a project that requires a connection to a Microsoft SQL Server 2008 R2 Database. I've been looking for an ODBC Driver that will make Linux play nice with SQL Server, and to see a Microsoft developed driver for Linux... Thats just plain cool! The installation script for RedHat looks for unixODBC-2.3.0 even though RHEL 6.4 ships with unixODBC-2.2.14. If unixODBC-2.3.0 is not installed, the instructions ask for the installed version to be removed and to let the install script build unixODBC-2.3.0 from source. The issue with this process is that it breaks compatibility with other packages requiring unixODBC-2.2.14 (php-odbc for my purpose) With a stock install of 64bit CentOS 6.4, “odbc_config –cflags” produces the required: SIZEOF_LONG_INT=8 “odbcinst –j” produces the required: SQLULEN Size 8, SQLLEN Size 8, and SQLSETPOSIROW Size 8 I've had success with the driver and unixODBC-2.2.14 by symlinking libodbc.so.1->libodbc.so.2 and libodbcinst.so.1->libodbcinst.so.2 and modifying the installation script changing: req_dm_ver="2.3.0" to req_dm_ver="2.2.14" The issue with this process is that it breaks compatibility with your software by changing the installation script. Additionally, when, and if, RHEL moves to unixODBC-2.3.0, it will cause issues. Are there any other requirements that unixODBC-2.3.0 provides which are not satisfied by unixODBC-2.2.14? If not, would it be possible to have two sets of binaries; one linked to libodbc.so.2 and libodbcinst.so.2 for unixODBC-2.2.14, and the other linked to libodbc.so.1 and libodbcinst.so.1 for unixODBC-2.3.0, and let the installation script decide which to use? Thank you, Chris ComptonAnonymous
May 05, 2013
Any plans for a 32-bit version of the driver?Anonymous
July 05, 2013
I support customers with ECM solutions and often run into trouble where client PC’s are not upgraded to the correct version of the SQL Native client. I’m not a DBA, but more specialize in supporting the application. Do you know, is there any way to shield the SQL server from connecting with these outdated (buggy) client machines, by only accepting connections using a newer native client? If not, is there a way to generate a listing of all machine names and the version of native client that was used to connect? Any thoughts or suggestions greatly appreciated David Whelan dwhelan@databankimx.comAnonymous
July 08, 2013
I asked the folks on the SQL Server Native Client team and there was one suggestion:
You probably could use sys.dm_exec_sessions to get the client lib name and TDS version in a stored proc, perhaps in a logon trigger, then raise a fatal error back to the client which kills the connection.
Does that help? -- David
Anonymous
July 09, 2013
David Whelan, Comparing the TDS version to the instance version is something we've done for that situation for many customers - typically we run it as a scheduled job that logs to a table then review that data to find workstations with outdated drivers. The TDS version can be obtained this way but not the build (2005+). Here's a sample query: SELECT A.session_id , B.login_name , B.host_name , A.client_net_address , B.client_interface_name , A.protocol_type , CAST(A.protocol_version AS VARBINARY(9)) ,driver_version = CASE SUBSTRING(CAST(A.protocol_version AS BINARY(4)), 1,1) WHEN 0x70 THEN 'SQL Server 7.0' WHEN 0x71 THEN 'SQL Server 2000' WHEN 0x72 THEN 'SQL Server 2005' WHEN 0x73 THEN 'SQL Server 2008' WHEN 0x74 THEN 'SQL Server 2012' ELSE 'Unknown driver' END FROM sys.dm_exec_connections A INNER JOIN sys.dm_exec_sessions B ON A.session_id = B.session_id WHERE B.client_interface_name = 'ODBC' AND SUBSTRING(CAST(A.protocol_version AS BINARY(4)), 1,1) <> 0x73 Ansley Ingram Hyland Software, Inc.Anonymous
August 01, 2013
Senza polemica, avrei preferito un drive ODBC per Apple OS X (parecchio tempo fa, inoltre esisteva già ...) che per il mondo Linux ... Spero che Microsoft si attivi al più presto, essendo Microsoft SQL Server il miglior database (a mio giudizio) e avendo sempre più la richiesta di operare in ambienti 'misti' con client Windows e Apple. GrazieAnonymous
August 09, 2013
Hi everyone. Do you know if the SQLServer 2012 native client work under Microsoft Windows 2012 server? Thanks....Anonymous
August 09, 2013
SQL Server Native Client should work on any operating system that supports the SQL Server version that SQL Server Native Client shipped with. So, if SQL Server 2012 is supported on Microsoft Windows 2012 server, then SQL Server 2012 Native Client is supported on Microsoft Windows 2012 serverAnonymous
August 09, 2013
E PER OS X ?Anonymous
September 12, 2013
We are getting a new server and want it to use Linux. Our old server was running MS SQL Server 2008 R2 with MS SQL Server DB 2008 R2. How do we port the DB over from MS SQL Server to Linux? Is that what this addresses?Anonymous
September 12, 2013
You cannot install SQL Server on Linux.Anonymous
September 16, 2013
Hello, Im running Microsoft SQL 2012. Will I be able to access the 2012 SQL database remotely from a P.C. that is running windows XP professional? Thanks...MarkAnonymous
September 16, 2013
Please make sure that the technology that you use (to connect to an instance of SQL Server 2012) is supported to connect to SQL Server 2012. You are aware that Windows XP goes out of support on April 8, 2014 ?Anonymous
October 07, 2013
I want to connect in the client machine using odbc to Windows server 2012.the client machine is in windows 7???Anonymous
October 07, 2013
Hi Martin, I'm not sure I understood that. You want to use the ODBC driver to write an app that runs on Windows 7 and connects to a SQL Server database on Windows Server 2012? That should work.Anonymous
October 10, 2013
The beta/CTP version of SuSE Linux ODBC Driver for SQL Server was released in September 2012 (www.microsoft.com/.../details.aspx). When does Microsoft plan to release a production/non-CTP version??Anonymous
October 10, 2013
I have not heard about a schedule for this. I do not think that anyone is working on it at the moment.Anonymous
October 18, 2013
Oh darn. The non-CTP version of the ODBC for Red Hat Linux and SQL Server was released about a year after its beta, and so I had hoped MS would rollout the SuSE version in a similar way. If no one is working on it, does this indicate the demand wasn't great enough to make it a priority?Anonymous
October 19, 2013
I was not in the room when the decision was made, about which projects to resource. It was probably a combination of things.Anonymous
October 22, 2013
Well, perhaps, David, you will put me in touch with someone who was. I'm on the virge of making a technology decision that impacts a multi-million dollar project. Elsewhere--on this very page and others--Microsoft states its mission to make "ODBC drivers for Windows and Linux...better aligned going forward". If this is true, there's a basis for that claim. Please put me in touch with someone involved in release planning.Anonymous
October 23, 2013
If you send me your email address, I will forward it to The Decision Makers. David Schwartz dschwart@microsoft.comAnonymous
November 18, 2013
Does the Microsoft® SQL Server® ODBC Driver 1.0 for Linux support connections to Microsoft SQL Server 2008R2 ? ThanksAnonymous
November 18, 2013
Yes From msdn.microsoft.com/.../hh568451.aspx "The ODBC driver for SQL Server allows native applications (C/C++) running on Linux to connect to SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, and SQL Azure Database."Anonymous
November 21, 2013
Can someone definitively tell me what driver we should be using, can use? Currently our WIN32 app is using SQL Server ODBC Driver 6.01.7601.17514 on a Windows Server 2008 R2 to access SQL Server 2005 & SQL Server 2012. But lately we've been getting random TDS errors on long varchars, corruption on Long Varchars (varchars(max)). We suspect its the drivers and/or network related. Currently these issues are occurring mostly on the SQL 2005 servers since majority of our DBs are still on SQL 2005 servers. Any help would be greatly appreciated.Anonymous
November 21, 2013
BTW the hosted server and the SQL Servers are all 64bit, the client app though is WIN32Anonymous
November 21, 2013
I suggest that you use the Microsoft ODBC Driver 11 for SQL Server on Windows. You can install the driver from: www.microsoft.com/.../details.aspx and bcp and sqlcmd from www.microsoft.com/.../details.aspx Or, you could use the ODBC driver in SQL Server Native Client from SQL Server 2012 -- DavidAnonymous
November 21, 2013
Thanks David, I've installed the ODBC Driver 11 and changed the connection string to 'Driver={ODBC Driver 11 for SQL Server};...' This is on our Beta, at first early glance things are looking good. We're going to leave it on the Beta for few days before promoting it to the production environment.Anonymous
November 22, 2013
Unfortunately we are still getting random corruption when passing a large (>8k) adLongVarChar to varchar(max) in an SP call. It fails once but then since we have retry logic it works on the second attempt 2-4 seconds later. Currently we are using the SQL Server Native Client 10.0. Any ideas?Anonymous
November 22, 2013
(Curious, you said that you are using ODBC Driver 11 and SQL Server Native Client 10.0.?) Do you need some ideas about how to debug the failure? Are you familiar with the following: msdn.microsoft.com/.../cc765421(SQL.100).aspx blogs.msdn.com/.../connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer.aspx If you decide to do data access tracing, you will need to download MOF files for the SQL Server version you are using. For example, if you are using SQL Server 2012, you can download the files from msdn.microsoft.com/.../hh880086.aspx. Let me know if you need more assistance. -- DavidAnonymous
November 22, 2013
Well we did switch to use ODBC Driver 11 for a little bit, but soon noticed that in one particular case when we were retrieving data one of the column's data types (varchar(max) & xml) wasn't mapping through with the same data type on the ADO side as it did with the older drivers. So we switched it to use Native Client 10 until we could properly modify/debug/test the cases where the data type mapping is different than what we currently have. Native Client 10 ODBC seems to behave like the original SQL Server ODBC 6.1 driver, also in that both exhibit the rare random corruption on large strings passed to the DBs via SPs calls. This corruption almost certainly occurs during the transfer between the source WIN32 app making the call and the destination DB server. The corruption is very rare and it didn't used to happen. But we've been upgrading both hardware and software including the SANs and VMware, server OSs etc., while the server on which they are hosted on have changed, the WIN32 client app and the DBs themselves haven't changed (still using SQL 2005). Our connections, load and traffic has also increased linearly. I'll take a look at the links you mention to help further troubleshoot this issue.Anonymous
March 26, 2014
A couple of things: First, if your going to use this on Redhat, try the latest version (6.5) I could not get this to compile correctly on Redhat 6.3 (I see many others are having issues as well). Second, I was excited to ditch my old $1,700 driver from E*sySoft since I now have your new driver which seems to be working for what I need. But then BAM!, Really? No backawards compatibility to older SQL servers like 2005, 2000, etc? [unixODBC][Microsoft][SQL Server Native Client 11.0]SQL Server Native Client 11.0 does not support connections to SQL Server 2000 or earlier versions I have older legacy stuff that I really don't want to have to upgrade (nor can I afford to upgrade give MS's steep price$ on 2012 Enterprise - like $47k!) Finally: I have a solution for you MS, hire me as a developer to help you find and fix these things. It would be REALLY smart on your part to better support Linux based drivers to SQL server (with more bells and whistles). After all, when I need to do heavy processing, I ALWAYS use Linux since its cheap, easy and very lightweight (no bloated kernels here). More and more middle and top tiers are going Linux. Having this interoperability between Linux and MS backends would broaden your user base! Come on MS, make me a advocate! I'm tired of being a MS cynic! --DanAnonymous
April 02, 2014
Replaced provider SQLOLEDB with the {ODBC Driver 11 for SQL Server} but found out the recordsets in the ODBC have read only properties. Code like this no longer works... "rsTemp.Properties("Preserve on Commit").Value = True" Since properties on the recordset is read only.Anonymous
April 22, 2014
Is there anyway to install this driver on Mac OS X (10.8)? Is there a way I can install it manually. If not, what would keep it from running on Mac?Anonymous
June 05, 2014
We have a C++ program that uses ADO to connect to various databases. We've successfully been connecting to SQL Server databases using the SQL Server Native Client ODBC drivers. We are now trying to use the "ODBC Driver 11 for SQL Server" driver and I keep getting the following error from ADODB.Connection: ( 0x800a0e7a ) Provider cannot be found. It may not be properly installed. This is my connection string: Provider=ODBC Driver 11 for SQL Server;SERVER=MYPCSQL2014a;Trusted_Connection=Yes; It works fine if I use SQL Server Native Client 10 or 11. Any ideas as to why I'm getting the error ?Anonymous
June 12, 2014
The comment has been removedAnonymous
June 25, 2014
Hi MS, Are there any available 32 bit version of the driver?Anonymous
July 30, 2014
thanksAnonymous
September 17, 2014
This driver appears to be completely broken on Linux when trying to open multiple concurrent connections to a mirrored sql server: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff062c700 (LWP 29046)] 0x00007ffff295df48 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 (gdb) bt #0 0x00007ffff295df48 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #1 0x00007ffff2960fa2 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #2 0x00007ffff29480e6 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #3 0x00007ffff2931fc5 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #4 0x00007ffff2933644 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #5 0x00007ffff2930766 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #6 0x00007ffff292a2a5 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #7 0x00007ffff292ac29 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #8 0x00007ffff292b9b2 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #9 0x00007ffff28b053a in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #10 0x00007ffff28df246 in ?? () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #11 0x00007ffff28b2e1b in SQLDriverConnectW () from /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 #12 0x00007ffff3013f19 in SQLDriverConnectW (hdbc=0x7fffe8003f30, hwnd=0x0, conn_str_in=0x7ffff062b120, len_conn_str_in=105, conn_str_out=0x7fffe80054c0, conn_str_out_max=1024, ptr_conn_str_out=0x7ffff062aebe, driver_completion=0) at SQLDriverConnectW.c:601 #13 0x00007ffff325eb36 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlodbc.so #14 0x00007ffff7970231 in QSqlDatabase::open() () from /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5 Of course there doesn't seem to be much of a way for me to get further debug information about this, nor is there necessarily a platform for me to file a bug report. Any word on whether Microsoft intends to update the driver in the future? Is this a known issues?Anonymous
October 09, 2014
The comment has been removedAnonymous
October 14, 2014
The SQL Server Native Client ODBC driver was not supported to be used via MSDASQL: msdn.microsoft.com/.../ms131035.aspx (In other words, there was no officially supported way to access SQL Server from legacy ADO-based applications.) Does this still apply to the ODBC Driver 11 for SQL Server?Anonymous
December 10, 2014
Any comment on plans to upgrade the driver to provide support for SQL Server 2014?Anonymous
December 18, 2014
To limit the number of issues reported by the users (mine would be +1) I would recommend to prepare compiled packages to easy install for each of linux distribution, including debian and ubuntu which are currently top choice on many hosting services. You are losing user base, or at least not getting new ones.Anonymous
December 22, 2014
Hi, I'm getting a bunch of [Microsoft][SQL Server Native Client 11.0]Communication link failure I've posted the problem on MSDN: social.msdn.microsoft.com/.../microsoftsql-server-native-client-110communication-link-failure Anyone able to help?Anonymous
May 10, 2015
GoodAnonymous
June 07, 2015
The comment has been removedAnonymous
June 22, 2015
As an alternative to a standard SQL Server ODBC driver I found this one www.devart.com/.../sqlserver It works great for me even better in some tests comparing to microsoft driver. The main feature for me that it will be available for Linux and Mac OS X platforms (32 and 64-bits) in the nearest time according to developers words. I am very excited to see that.Anonymous
November 17, 2015
Anyone else noticing long disconnect times when using 'ODBC Driver 11 for SQL Server' when connected to a SQL 2012 database? Trace file shows the SQLDisconnect, SQLFreeConnect, and SQLFreeEnv ODBC calls were all successful. Taking just over 10 seconds to perform these however.- Anonymous
October 09, 2016
Mike,If you suffer form disconnection I guess you know how to connect to SQL.I have just downloaded and installed ODBC 11 driver for Linux CentOS.I have added the section defining the connection into odbc.ini and checked with isql.Now I am trying to connect to SQL Server using it’s IPv4 address.But SQLConnectW and SQLDriverConnectW fail both.For SQLDriverConnectW I use the following Con Str:DSN=;UID=:PWD=;With same params isql works just fine (isql -v What’s wrong?What should I write to use SQLConnectW?I will truly appreciate your help
- Anonymous
Anonymous
January 25, 2016
I see that a preview version (13) for this driver has been posted. Which is nice, except that it only seems to work with RHEL 7. There is still an issue with the existing ODBC Driver (11). This worked in RHEL/Centos 6.5, but broke on 6.6 and 6.7 as documented. I put in the following bug that got no attention: social.msdn.microsoft.com/.../microsoft-o$ connect.microsoft.com/.../1684372 Microsoft ODBC Driver 11 for SQL Server for linux has ot been updated since Jan 2013. Are there any plans to provide an updated driver? Currently, bcp is broke on RHEL 6.6. ldd /opt/microsoft/msodbcsql/bin/bcp-11.0.2270.0 linux-vdso.so.1 => (0x00007fff18974000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00000030c8000000) libdl.so.2 => /lib64/libdl.so.2 (0x00000030bf400000) librt.so.1 => /lib64/librt.so.1 (0x00000030bfc00000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x00000030c8c00000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00000030c5800000) libodbc.so.1 => not found The documentation says to use unixODBC 2.3.0, but that had issues and were were told to use unixODBC 2.3.2, however, 2.3.2 which users libodbc.so.2 (not libodbc.so.1). This package is 2.5 years out of date and needs an update....Anonymous
January 29, 2016
ODBC Driver 11 (Setup page calls it v12.0.4219.0) was just made available: www.microsoft.com/.../details.aspx- Anonymous
October 09, 2016
I have just downloaded and installed ODBC 11 driver for Linux CentOS.I have added the section defining the connection into odbc.ini and checked with isql.Now I am trying to connect to SQL Server using it’s IPv4 address.But SQLConnectW and SQLDriverConnectW fail both.For SQLDriverConnectW I use the following Con Str:DSN=;UID=:PWD=;With same params isql works just fine (isql -v What’s wrong?What should I write to use SQLConnectW?Thank you in advance,
- Anonymous
Anonymous
March 29, 2016
Is there a a 64 bit version to download? I only see x86 and amd64.- Anonymous
March 02, 2017
amd64 should work for 64bit :)
- Anonymous
Anonymous
October 05, 2016
I have just downloaded and installed ODBC 11 driver for Linux CentOS.Now I am trying to connect to SQL Server using it's IPv4 address.But SQLConnectW and SQLDriverConnectW fail both.For SQLDriverConnectW I use the following Con Str: DRIVER={Microsoft ODBC Driver 11 for SQL Server};SERVER=;DATABASE=;UID=:PWD=.What's wrong?What should I write to use SQLConnectW?Thank you in advance.Anonymous
February 23, 2017
What happened to the ability to install this on Windows Server 2008 SP2 (or later)?I am trying to upgrade the Microsoft SQL Server Driver for PHP (https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver) to version 3.2, which according to that page supports Server 2008 SP2 and requires "Microsoft ODBC Driver 11 for SQL Server" .But the "Microsoft ODBC Driver 11 for SQL Server" download page lists "Server 2008 SP2", only "Vista SP2" .This inability to update the Microsoft "PHP SQL Driver" in turn blocks the ability to upgrade PHP with current security updates, escalating this compatibility omission to a security issue!Anonymous
May 08, 2017
Hi I am getting below error messagesqlcmd -S ipaddress -U test3 -P "test3"sqlcmd: symbol lookup error: sqlcmd: undefined symbol: SQLSetConnectAttrAon linux serverLinux eim-prd-hadoop-01 2.6.32-642.3.1.el6.x86_64 #1 SMP Sun Jun 26 18:16:44 EDT 2016 x86_64 x86_64 x86_64 GNU/Linuxodbc lrwxrwxrwx 1 root root 45 May 9 11:35 sqlcmd -> /opt/microsoft/sqlncli/bin/sqlcmd-11.0.1790.0- Anonymous
June 01, 2017
What version are you using? Have you tried using the ODBC Driver 13.1? https://blogs.msdn.microsoft.com/sqlnativeclient/2017/02/04/odbc-driver-13-1-for-linux-released/
- Anonymous