Data Access Technologies Road Map

Data Access Technologies Road Map Introduction

Contents

SQL Server Native Client

SQL Server Native Client is a stand-alone data access application programming interface (API) that is used for both OLE DB and ODBC. SQL Server Native Client is included in SQL Server. SQL Server Native Client can be used to create new applications or enhance existing applications that must take advantage of new SQL Server features. (Microsoft/Windows Data Access Components are not updated for new features in SQL Server.)

The SQL Server Native Client OLE DB provider was included in SQL Server Native Client in SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, and SQL Server 2012. After SQL Server 2012, the SQL Server Native Client OLE DB provider will no longer be included in SQL Server Native Client.

The MSI to install SQL Server Native Client is available on the SQL Server media and in SQL Server Feature Packs.

After SQL Server 2012, the ODBC driver will be updated for the most recent server features, including Microsoft Windows Azure SQL Database, and released as the Microsoft ODBC Driver for SQL Server.

Microsoft ODBC Driver for SQL Server

After SQL Server 2012, the ODBC driver for SQL Server will be developed and released as the Microsoft ODBC Driver for SQL Server. There will be a driver for Windows, a driver for Red Hat Linux, and a driver for SUSE Linux:

ODBC Driver Operating System

For more information

Windows

Red Hat Linux

SUSE Linux

ADO.NET

ADO.NET is a high-level application-programming interface that is targeted at loosely coupled, n-tier, Internet-based applications that support disconnected access to data. It is a core component of the Microsoft .NET Framework.

Figure 1. ADO.NET architecture

ADO.NET architecture

ADO.NET provides .NET-managed providers for connected access, and DataSets that read and write in XML for disconnected management of retrieved data and user interaction. For more information about data providers in ADO.NET, see .NET Framework Data Providers.

The DataSet reads and writes XML, and the XMLDataDocument integrates relational and XML views. For more information about data sets, see ADO.NET DataSets.

Microsoft JDBC Driver for SQL Server

The Microsoft JDBC Driver for SQL Server is a Java Database Connectivity (JDBC) 4.0 compliant driver that provides robust data access to SQL Server databases.

The JDBC driver can be installed on the Windows operating system, and on the UNIX operating system.

For more information about the JDBC driver, including how to download the driver, see Overview of the JDBC Driver.

Microsoft Drivers for PHP for SQL Server

The Microsoft Drivers for PHP for SQL Server is a PHP 5 extension that provides data access to SQL Server (including Express). The extension provides a procedural interface (the SQLSRV driver) and an object-oriented interface (the PDO_SQLSRV driver).

For information on how to download the PHP driver, see System Requirements (Microsoft Drivers for PHP for SQL Server).

Microsoft Driver for Node.js for SQL Server

The Microsoft Driver for Node.js for SQL Server allows Node.js applications on Microsoft Windows and Microsoft Windows Azure to access Microsoft SQL Server and Microsoft Windows Azure SQL Database.

For more information about the Microsoft Driver for Node.js for SQL Server, see WindowsAzure / node-sqlserver.

Microsoft/Windows Data Access Components (MDAC/WDAC)

With Microsoft/Windows Data Access Components (MDAC/WDAC), developers can connect to and use data from a wide variety of relational and non-relational data sources. You can connect to many different data sources using Open Database Connectivity (ODBC), ActiveX Data Objects (ADO), or OLE DB. You can do this through providers and drivers that are built and shipped by Microsoft or that are developed by various third parties.

With Microsoft/Windows Data Access Components (MDAC/WDAC), developers can connect to and use data from a wide variety of relational and non-relational data sources. You can connect to many different data sources using Open Database Connectivity (ODBC), ActiveX Data Objects (ADO), or OLE DB. You can do this through providers and drivers that are built and shipped by Microsoft or that are developed by various third parties.

Current MDAC/WDAC Architecture

With the current MDAC/WDAC architecture, client-server, n-tier, or Web browser applications can access SQL, semi-structured, and legacy data stores. Additionally, with MDAC/WDAC (depending on requirements), these applications have the flexibility to access the data using ODBC, ADO, or OLE DB.

Figure 2. Current MDAC/WDAC architecture

Current MDAC/WDAC architecture

For the purposes of this document, you can divide the MDAC/WDAC stack into the following components, based on technology and products:

  • ADO (including ADOMD and ADOX)

  • OLE DB (including OLE DB Core Services, SQL Server OLE DB Provider, Oracle OLE DB Provider, OLE DB Provider for ODBC Drivers, Data Shape Provider, and Remote Data Provider)

  • ODBC (including ODBC Driver Manager, SQL ODBC Driver and Oracle ODBC Driver)

Current MDAC/WDAC Components

These components are supported in the current release. Use these components when you develop new applications or upgrade existing applications.

  • ODBC: The Microsoft Open Database Connectivity (ODBC) interface is a C programming-language interface that allows applications to access data from a variety of Database Management Systems (DBMS). Applications that use this API are limited to accessing relational data sources only. ODBC will continue to be supported and is available on the 64-bit Windows operating system.

  • OLE DB: OLE DB is a comprehensive set of COM interfaces for accessing a diverse range of data in a variety of data stores. OLE DB providers exist for accessing data in databases, file systems, message stores, directory services, workflow, and document stores. OLE DB core services (although not every OLE DB provider) is available on the 64-bit Windows operating system.

  • ADO: ActiveX Data Objects (ADO) provides a high-level programming model. Although a little less performance than coding to OLE DB or ODBC directly, ADO is straightforward to learn and use, and it can be used from script languages, such as Microsoft Visual Basic Scripting Edition (VBScript) or Microsoft JScript.

  • ADOMD: ADO Multi-Dimensional (ADOMD) is to be used with multidimensional data providers such as Microsoft OLAP Provider, also known as Microsoft Analysis Services Provider. No major feature enhancements have been made to it since MDAC 2.0.

  • ADOX: ADO Extensions for DDL and Security (ADOX) enable the creation and modification of definitions of a database, table, index, or stored procedure. You can use ADOX with any provider. The Microsoft Jet OLE DB Provider provides full support for ADOX, while the Microsoft SQL Server OLE DB Provider provides limited support. No major enhancements are planned for ADOX in future MDAC/WDAC releases; however, it is available on the 64-bit Windows operating system.

  • Microsoft SQL Server Network Libraries: The SQL Server Network Libraries allow SQLOLEDB and SQLODBC to communicate with the SQL Server database. The following SQL Server Network Libraries have been deprecated in MDAC/WDAC releases: Banyan Vines, AppleTalk, Servernet, IPX/SPX, Giganet, and RPC. TCP/IP and Named Pipes will continue to be supported and are available on the 64-bit Windows operating system.

  • MSDASQL: The Microsoft OLE DB Provider for ODBC (MSDASQL) is a technology that allows applications that are built on OLEDB and ADO (which uses OLEDB internally) to access data sources through an ODBC driver. MSDASQL is an OLEDB provider that connects to ODBC, instead of a database. MSDASQL ships with the Windows operating system, and Windows Server 2008 and Vista SP1 were the first Windows releases to include a 64-bit version of the technology.

Deprecated MDAC/WDAC Components

These components are still supported in the current release of MDAC/WDAC, but they might be removed in future releases. Microsoft recommends, when you develop new applications, that you avoid using these components. Additionally, when you upgrade or modify existing applications, remove any dependency on these components.

  • SQLOLEDB: The Microsoft OLE DB Provider for SQL Server (SQLOLEDB), which supports access to Microsoft SQL Server, has been deprecated. Its connectivity to future versions of SQL Server may not be supported. The ability to connect to versions earlier than SQL Server 7 will be removed from the operating system after Windows 7. New applications should use the SQL Server Native Client OLEDB provider, which supports new SQL Server features. Existing applications should migrate to the SQL Server Native Client OLEDB provider as well for better performance, reliability and supportability (see Updating an Application to SQL Server Native Client from MDAC for more information).

  • SQLODBC: The Microsoft SQL Server ODBC Driver (SQLODBC), which supports access to Microsoft SQL Server, has been deprecated. Its connectivity to future versions of SQL Server may not be supported. The ability to connect to versions earlier than SQL Server 7 will be removed from the operating system after Windows 7. New applications should use the SQL Server Native Client ODBC driver (or the successor to the SQL Server Native Client ODBC driver, the Microsoft ODBC Driver for SQL Server on Windows), which supports new SQL Server features. Existing applications should migrate to the SQL Server Native Client ODBC driver as well for better performance, reliability and supportability (see Updating an Application to SQL Server Native Client from MDAC for more information).

  • Microsoft Jet Database Engine 4.0: Starting with version 2.6, MDAC no longer contains Jet components. In other words, MDAC 2.6, 2.7, 2.8, and all future MDAC/WDAC releases do not contain Microsoft Jet, the Microsoft Jet OLE DB Provider, the ODBC Desktop Database Drivers, or Jet Data Access Objects (DAO). The Microsoft Jet Database Engine 4.0 components entered a state of functional deprecation and sustained engineering, and have not received feature level enhancements since becoming a part of Microsoft Windows in Windows 2000.

    There is no 64-bit version of the Jet Database Engine, the Jet OLEDB Driver, the Jet ODBC Drivers, or Jet DAO available. This is also documented in KB article 957570. On 64-bit versions of Windows, 32-bit Jet runs under the Windows WOW64 subsystem. For more information on WOW64, see http://shabirhakim.com/en-us/library/aa384249(VS.85).aspx. Native 64-bit applications cannot communicate with the 32-bit Jet drivers running in WOW64.

    Instead of Microsoft Jet, Microsoft recommends using Microsoft SQL Server Express Edition or Microsoft SQL Server Compact Edition when developing new, non-Microsoft Access applications requiring a relational data store. These new or converted Jet applications can continue to use Jet with the intention of using Microsoft Office 2003 and earlier files (.mdb and .xls) for non-primary data storage. However, for these applications, you should plan to migrate from Jet to the 2007 Office System Driver. You can download the 2007 Office System Driver, which allows you to read from and write to pre-existing files in either Office 2003 (.mdb and .xls) or the Office 2007 (*.accdb, *.xlsm, *.xlsx and *.xlsb) file formats.

    Important note Important
    Please read the 2007 Office System End User License Agreement for specific usage limitations.
    Note Note
    SQL Server applications can also access the 2007 Office System, and earlier, files from SQL Server heterogeneous data connectivity and Integrations Services capabilities as well, via the 2007 Office System Driver. Additionally, 64-bit SQL Server applications can access to 32-bit Jet and 2007 Office System files by using 32-bit SQL Server Integration Services (SSIS) on 64-bit Windows.
  • MSDADS: With the Microsoft OLE DB Provider for Data Shaping (MSDADS), you can create hierarchical relationships between keys, fields, or rowsets in an application. No major feature enhancements have been made since MDAC 2.1. This Provider has been deprecated. Microsoft recommends that you use XML, instead of MSDADS.

  • Oracle ODBC and Oracle OLE DB: The Microsoft Oracle ODBC Driver (Oracle ODBC) and Microsoft OLE DB Provider for Oracle (Oracle OLE DB) provide access to Oracle database servers. They are built by using Oracle Call Interface (OCI) version 7 and provide full support for Oracle 7. Also, it uses Oracle 7 emulation to provide limited support for Oracle 8 databases. Oracle no longer supports applications that use OCI version 7 calls. These technologies are deprecated. If you are using Oracle data sources, you should migrate to Oracle-supplied driver and provider.

  • RDS: Remote Data Services (RDS) is a proprietary Microsoft mechanism for accessing remote ADO Recordset objects across the Internet or an Intranet. RDS is deprecated; no major feature enhancements have been made to RDS since MDAC 2.1. Microsoft has released the .NET Framework, which has extensive SOAP capabilities and replaces RDS components. All RDS server components will be removed from the operating system after Windows 7.

  • JRO: Jet Replication Objects (JRO) is deprecated. JRO is used within ADO with Jet (*.mdb) databases to create and compress Jet Databases (.mdb’s) and perform Jet Replication Management. MDAC 2.7 will be its last release. JRO will not be available on the 64-bit Windows operating system. JRO is not supported in the Microsoft Access 2007 file format (*.accdb).

  • 16-bit ODBC Support: If you are using 16-bit applications, you should migrate to a 32-bit application. 16-bit functionality is deprecated and is being removed from 64-bit operating systems; see Knowledge base article 896458 for more information.

  • OLEDB Simple Provider (MSDAOSP): OLEDB Simple Provider offers a framework for quickly building OLE DB providers over simple data. MSDAOSP is deprecated.

  • ODBC Cursor Library: ODBC Cursor Library (ODBCCR32.dll) provides limited client-side data cursors. ODBC Cursor Library has been deprecated; your application can use server side cursor implementations as a replacement.

  • OLE DB Out-of-Process Interface Remoting: OLEDB Interface remoting (msdaps.dll) was an attempt to allow OLE DB providers to run out of process. OLEDB Out-of-Process Interface remoting is deprecated.

  • AppleTalk and Banyan Vines SQL Network Libraries: The Banyan Vines, AppleTalk, Servernet, IPX/SPX, Giganet, and RPC SQL network libraries are deprecated. If you are using any of these technologies, you should modify your applications to use one of the other network libraries, such as TCP/IP and Named Pipe.

MDAC/WDAC Releases

Here is a list of the supportability scenarios of past, present, and future MDAC/WDAC releases, starting with the earliest.

  • MDAC 1.5, MDAC 2.0, and MDAC 2.1: These versions of MDAC were independent releases that were released through the Microsoft Windows NT Option Pack, the Microsoft Windows Platform SDK, or the MDAC Web site. These versions of MDAC no longer are supported.

  • MDAC 2.5: This version of MDAC was included with the Windows 2000 operating system. Service packs of MDAC 2.5 were included with corresponding Windows 2000 service packs. However, Microsoft currently supports only MDAC 2.5 SP3 on Windows 2000 SP4, and serviceability is subject to the lifecycle of the operating system.

  • MDAC 2.6: MDAC 2.6 RTM, SP1, and SP2 were included with Microsoft SQL Server 2000 RTM, SP1, and SP2, respectively. Additionally, these MDAC service packs were released to the MDAC Web site in accordance with the Microsoft SQL Server 2000 service-pack release schedule. You can install this version of MDAC and its service packs on Windows 2000, Windows Millennium Edition, Windows NT, Windows 95, and Windows 98 platforms. This version of MDAC no longer is supported.

  • MDAC 2.7: This version of MDAC was included with the Microsoft Windows XP RTM and SP1 operating systems. You can install this version of MDAC and its service packs on Windows 2000, Windows Millennium, Windows NT, and Windows 98 platforms. You can install this version on the Windows XP platform only through the operating system or its services packs. This version of MDAC no longer is supported.

  • MDAC 2.8: This version of MDAC was included with Windows Server 2003 and Windows XP SP2 and later. You also can install this version of MDAC and its service packs on Windows 2000.

    • The 32-bit version of MDAC 2.8 also was released to the MDAC Web site at the same time that Windows Server 2003 was released to the customer.

    • The 64-bit version of MDAC 2.8 was released with the 64-bit version of Windows Server 2003 and Windows XP.

  • Windows Data Access Components (WDAC): MDAC changed its name to WDAC - "Windows Data Access Components" since Windows Vista and Windows Server 2008. WDAC is included as part of the operating system and is not available separately for redistribution. Serviceability for WDAC is subject to the life cycle of the operating system.

    32-bit and 64-bit versions of WDAC are released with the 32-bit and 64-bit versions of the Windows operating systems, respectively.

The following table contains the list of different MDAC releases along with the release date for each.
MDAC Version Release Date Shipped With Additional Notes
MDAC 2.8 SP2 03/2005 Windows 2003 SP1 No Web release
MDAC 2.8 SP1 08/2004 Windows XP SP2 and Windows XP SP3 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.8 08/2003 Windows Server 2003 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.7 SP1 Refresh (X86 only) 08/2006 Windows 2000, Windows 98, Windows ME, and Windows NT Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.7 SP1 08/2002 Windows XP SP1 No Web Release
MDAC 2.7 10/2001 Windows XP Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.6 SP2 6/2002 SQL Server 2000 SP2 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.6 SP1 6/2001 SQL Server 2000 SP1 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.6 9/2000 SQL Server 2000 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.5 SP3 12/2003 Windows 2000 SP3 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.5 SP2 5/2001 Windows 2000 SP2 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.5 SP1 7/31/2000 Windows 2000 SP1 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.5 2/17/2000 Windows 2000 Released on the Web and available at the following Web site: http://msdn2.microsoft.com/en-us/data/aa937730.aspx
MDAC 2.1 SP2 No Web Release
MDAC 2.1 SP1a (GA) 4/1/1999 Office 2000, BackOffice 4.5, Visual Studio 98 SP3 (*Internet Explorer 5a shipped minimal install) Web Release
MDAC 2.1 SP1 3/15/1999 Internet Explorer 5.0 No Web Release
MDAC 2.1 11/07/1998 SQL Server 7.0, Server 6.5 SP5 No Web Release
MDAC 2.0 SP2 07/01/1998 Released through the Web. Y2K remediation for all platforms
MDAC 2.0 SP1 07/01/1998 Windows NT 4.0 (SP4) Y2K remediation for Windows NT 4.0
MDAC 2.0 07/01/1998 Visual Studio 98 No Web Release
MDAC 1.5 a/b/c/d 08/01/1997 n/a n/a
MDAC 1.5 08/01/1997 MDAC 1.5 shipped two separate releases, with two separate sets of files. Shipped in betas for Internet Information Server (IIS) 4.0 (Windows NT 4.0 Option Pack), Internet Explorer 4.0, Internet Explorer 4.01 SP1, and Windows 98. The first release was in Internet Explorer 4.0. The second was from the 1997 Professional Developer's Conference

 

Obsolete Data Access Technologies

Obsolete technologies are technologies that have not been enhanced or updated in several product releases and that will be excluded from future product releases. Do not use these technologies when you write new applications. When you modify existing applications that are written by using these technologies, consider migrating those applications to ADO.NET.

The following components are considered obsolete:

  • DB-Library: This is a SQL Server–specific programming model that includes C APIs. There have been no feature enhancements to the DB-Library since SQL Server 6.5. Its final release was with SQL Server 2000, and it will not be ported to the 64-bit Windows operating system.

  • Embedded SQL (E-SQL): This is a SQL Server–specific programming model that enables Transact-SQL statements to be embedded in Visual C code. No feature enhancements have been made to the E-SQL since SQL Server 6.5. Its final release was with SQL Server 2000, and it will not be ported to the 64-bit Windows operating system.

  • Data Access Objects (DAO): DAO provides access to JET (Access) databases. This API can be used from Microsoft Visual Basic, Microsoft Visual C++, and scripting languages. It was included with Microsoft Office 2000 and Office XP. DAO 3.6 is the final version of this technology. It will not be available on the 64-bit Windows operating system.

  • Remote Data Objects (RDO): RDO was designed specifically to access remote ODBC relational data sources, and made it easier to use ODBC without complex application code. It was included with Microsoft Visual Basic versions 4, 5, and 6. RDO version 2.0 was the final version of this technology.