An estimated 8 million developers use Visual Basic (VB) 6.0—by far the most common language for writing SQL Server-based business applications. However, VB 6.0 isn't the language of choice for many enterprise projects. VB 6.0 isn't fully object oriented, and it relies on COM, can be difficult to deploy, and has limited support for developing Internet applications. Visual Basic .NET, C#, and other .NET languages correct these problems, but enterprise adoption of .NET technologies has been slow going. Even before .NET, many organizations had already chosen Java for enterprise-scale projects.

Java is mature and fully object oriented, and its promise of cross-platform compatibility is tempting for businesses that want to avoid being locked into a single platform. Although the reality of "write once, run everywhere" portability might not quite live up to its promise, Java is a capable enterprise development language. Sun estimates there are 2 million Java developers, and not surprisingly, SQL Server isn't the database of choice for most of them. Oracle and IBM DB2, with their tighter Java ties, are the favorite databases for Java applications.

Microsoft, partly due to its adversarial relationship with Java creator Sun and partly due to pursuing its own .NET agenda, has been slow to provide Java support for SQL Server. However, Microsoft and a couple of third-party Independent Software Vendors (ISVs) are now providing Java Database Connectivity (JDBC) middleware that lets SQL Server function as a database server for Java applications. Last year, Microsoft released a native JDBC driver as a free Web download for SQL Server 2000; you can download the driver at http://www.microsoft.com/sql/downloads/default.asp. DataDirect developed Microsoft's Type 4 JDBC driver, a native Java implementation. The Microsoft JDBC driver, however, works only with SQL Server 2000. It's compatible with the JDK 1.4 specification but not fully JDBC 3.0 compliant (it's JDBC 2.2 compliant), and it can't use Windows authentication.

As you might expect, DataDirect offers its own JDBC driver, DataDirect Connect for JDBC. DataDirect Connect for JDBC is a Type 4 JDBC driver that's compliant with the JDK 1.4 and JDBC 3.0 specifications. In addition to SQL Server, the DataDirect JDBC driver also connects to Oracle 8i, 9i, and 10g, as well as to DB2, Sybase, and Informix databases. It can use Windows authentication and connects to SQL Server 2000 and 7.0. You can learn more about DataDirect's JDBC driver at http://www.datadirect.com.

JNetDirect also offers a JDBC driver for SQL Server called JSQLConnect. While DataDirect offers one JDBC driver that can connect to a variety of databases, JNETDirect's JDBC driver is SQL Server specific. JSQLConnect is a Type 4 JDBC driver that's JDBC 3.0 compliant. And it supports Windows authentication and older SQL Server releases, including SQL Server 6.5. You can learn more about JSQLConnect at http://www.jnetdirect.com.

For Microsoft, offering a JDBC driver as a free download was an important first step in making SQL Server a viable back end for Java applications. However, not all JDBC drivers are the same. Third-party JDBC middleware fills some important gaps in the Microsoft driver and gives organizations alternatives. Although I doubt Java will ever be the primary development language for SQL Server, the availability of multiple JDBC drivers can only help accelerate SQL Server's push into the enterprise.