2

Microsoft has official ODBC drivers for MS SQL Server, for Linux. Great! Nice installation instructions for all the major distros, too.

Unfortunately, their ODBC drivers, going back to the oldest version I can find only support SQL Server 2005 and newer:

Native Data Access APIs – ODBC and OLE DB – for SQL Server 2005 and later.

I need to connect to a very old SQL Server (2000):

SELECT @@VERSION
→
Microsoft SQL Server  2000 - 8.00.2039 (Intel X86) 
       May  3 2005 23:18:38 
       Copyright (c) 1988-2003 Microsoft Corporation
       Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

I've confirmed that the v13 driver does not work:

$ sqlcmd -U XXXX -S 10.1.2.3
Password: 
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : ODBC Driver 13 for SQL Server does not support connections to SQL Server 2000 or earlier versions..
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Client unable to establish connection.

— Is there an official MS SQL ODBC driver that will run on a modern 64-bit Linux and connect to SQL Server 2000?

Or do I need to go to third party drivers like the open-source FreeTDS?

  • Based on searching around the net your going to have to go third-party with this. – SQL_Underworld Jan 20 '17 at 6:26
  • 1
    Did you try FreeTDS – Remus Rusanu May 12 '17 at 17:50
3

@Dan, this is by design. SQL Server 2005 is not longer supported. Newly released client drivers support SQL Server 2005+.

That said, can you try this?

wget https://gallery.technet.microsoft.com/scriptcenter/SQLCMD-and-BCP-for-Ubuntu-c88a28cc/file/142121/1/Ubuntu%2014.04%20MSFT%20ODBC%20Driver.sh
sudo bash Ubuntu\ 14.04\ MSFT\ ODBC\ Driver.sh 
sqlcmd –S yourServerName.database.windows.net – U yourUsername – P yourPassword

These steps install the older version (ODBC Driver v11).

  • Thanks, but I don't understand why Microsoft would arbitrarily cut off support for older databases. I have no control of what database version my clients use. 3rd party libraries appear to support older MSSQL versions just fine … in fact I'm currently accessing this same database with pymssql (based on FreeTDS). – Dan Lenski Jan 19 '17 at 23:12
  • The release notes for v11 say that it also does not support MSSQL 2000. :-( – Dan Lenski Jan 19 '17 at 23:13
  • 4
    Microsoft's decision to end support isn't "arbitrary". Microsoft publishes their support schedule, including standard & extended support periods. Software companies can't support every version indefinitely. It simply doesn't scale from a business or customer service perspective – AMtwo Jan 20 '17 at 2:15
  • 3
    SQL Server 2000 (the entire platform, including server & client tools) hasn't been supported in any form since 2013. There have been six major releases since SQL Server 2000. This decision isn't about penalizing clients... It's simply that new development on ancient platforms is incredibly rare. I can't imagine there's much ROI for MS to support it. – AMtwo Jan 20 '17 at 3:17
  • 4
    I'd push your clients to stop doing new development on SQL Server 2000, and begin upgrading to a modern platform. Your clients will definitely see ROI on the upgrade – AMtwo Jan 20 '17 at 3:18
-3

If the native driver doesn't support this, you should look at our sql server driver. We do support sql server 2000 version and unlike the open source, this is being used by many enterprise and we also have the expertise to troubleshoot any kind of issues. You can download it at: https://www.progress.com/odbc/microsoft-sql-server

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.