How do I connect to SQL Server from a non-microsoft machine?

A. A. Microsoft don't supply their own drivers for non-Windows based clients any longer, so you have to use a 3rd-party product. Your choices (in no particular order) are :-

1. You can try acquiring/licensing/using a Sybase Open CT-Lib/Db-lib client if one exists for your operating system. Sybase supply drivers for many non-Microsoft operating systems. The downside is that Sybase's and MS's usage of the base TDS protocol has been diverging ever since the 4.x versions of SQL Server they both released. Since then 6.0, 6.5 and especially 7.0 of MS's code, and versions 10, 11 and above of Sybase's code mean that Sybase's CT-Lib's may not give you full functionality and certainly won't give access to any SQL 7 specific features.

To access SQL 7.0 you must use TDS 4.0 protocol versions of Sybase's CT-Lib libraries. With SQL 7.0 SP2 Microsoft have modified their server-side db-lib drivers to allow TDS 5.0 clients to connect. See the Microsoft Knowledgebase article for more info.

2. You could reverse engineer the undocumented TDS protocol yourself. This could and does change between versions of SQL Server, so only attempt this if you want an on-going maintenance challenge. Several people have done such reverse engineering for the portions of TDS they needed and have reported it's not that difficult. Once such is the FreeTDS project that is reverse engineering the TDS specification and is currently implementing CTLIB, DBLIB, and JDBC interfaces for TDS. ODBC and Perl DBD drivers are planned. 

The FreeTDS JDBC driver is a type 4 driver and should work on any JVM. The CTLIB and DBLIB interfaces are known to compile under AIX, Linux, and FreeBSD without any problems. More info from and/or 

The mailing list archive can be viewed at Source-code can be downloaded from

3. If you are using a PERL script, then see the "perl.txt" FAQ entry for details of that - some of the Perl options will work from non-Microsoft platforms.

4. If you can use Java/JDBC then see the "jdbc.txt" FAQ entry for details of that

5. If you are connecting via REXX then try

6. The recommended option is that you acquire an ODBC/OLE-DB driver from a driver vendor that will offer on-going support. However, many ODBC vendors have either moved from pure client drivers to "3-tier" driver systems which many people don't want, or they have moved from ODBC into OLE-DB. Therefore you may have trouble finding just what you want. (Success and failure stories welcome - but be persistent with whichever vendors you talk to - they may not be actively advertising what you want, but that doesn't mean they don't still have old but working copies of it buried in a cupboard somewhere).

Vendors to try are (in no particular order) :-

Merant (were Intersolv 
Easysoft (ODBC-ODBC Bridge)
Applix corp.

7. Macintosh Info. It appears that the Microsoft provided driver with Office for the Mac no longer works with SQL 7.0. It works fine with SQL 6.5 and below. They produce a DAL/ODBC DBMS called PrimeBase that can be used to front-end other ODBC applications.

There are 32-bit 680x0 ODBC drivers on the Visual FoxPro for Power Macintosh CD version 3.0. The 32-bit drivers (v2.11 from Visigenic, v6.0b3 of the SQL Server driver). These work with 16-bit FoxPro 2.6a as well. One issue is that on MacOS 8.5.1, you get Type 1, Type 3 or Type 10 errors when you quit the FoxPro 2.6, BUT if you compile a 680x0 executable it works ok.

You can also get Mac drivers from has an SDK

8. For OpenVMS try They provide Perl, Java, JDBC, C, COBOL, C++, etc access from OpenVMS to Microsoft SQL server as well as 10 other DBMSs on various platforms.

9. For other pointers to ODBC/JDBC/OLEDB vendor's :-


v1.34 2000.02.02
Applies to SQL Server versions : All
Related FAQ articles : n/a
Related Microsoft Kb articles : n/a
Other related information : n/a

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.