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?

2
  • Based on searching around the net your going to have to go third-party with this. Commented Jan 20, 2017 at 6:26
  • 1
    Did you try FreeTDS Commented May 12, 2017 at 17:50

2 Answers 2

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).

8
  • 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
    Commented Jan 19, 2017 at 23:12
  • The release notes for v11 say that it also does not support MSSQL 2000. :-(
    – Dan Lenski
    Commented Jan 19, 2017 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
    Commented Jan 20, 2017 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
    Commented Jan 20, 2017 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
    Commented Jan 20, 2017 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 and acknowledge you have read our privacy policy.

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