Users do not access Microsoft® SQL Server™ directly; instead, they use an application written to access the data in SQL Server. This can include utilities that come with SQL Server, third party applications that run on SQL Server, or inhouse applications developed by programmers at the SQL Server site. SQL Server can also be accessed through COM, Microsoft ActiveX®, or Windows Distributed interNet Applications Architecture (Windows DNA) components.
Applications are written to access SQL Server through a database application programming interface (API). A database API contains two parts:
The language used with SQL Server is Transact-SQL. Transact-SQL supports all SQL-92 Entry Level SQL statements and many additional SQL-92 features. It also supports the ODBC extensions to SQL-92 and other extensions specific to Transact-SQL.
Native API support means the API function calls are mapped directly to the network protocol sent to the server. There is no intermediate translation to another API needed. SQL Server provides native support for two main classes of database APIs:
SQL Server includes a native OLE DB provider. The provider supports applications written using OLE DB, or other APIs that use OLE DB, such as ActiveX Data Objects (ADO). Through the native provider, SQL Server also supports objects or components using OLE DB, such as ActiveX, ADO, or Windows DNA applications.
SQL Server includes a native ODBC driver. The driver supports applications or components written using ODBC, or other APIs using ODBC, such as DAO, RDO, and the Microsoft Foundation Classes (MFC) database classes.
An example of nonnative support for an API would be a database that does not have an OLE DB provider, but does have an ODBC driver. An OLE DB application could use the OLE DB provider for ODBC to connect to the database through an ODBC driver. This provider maps the OLE DB API function calls from the application to ODBC function calls it sends to the ODBC driver.
SQL Server also supports:
DB-Library is an earlier API specific to SQL Server. SQL Server supports DB-Library applications written in either C, or through a component known as VBSQL, Microsoft Visual Basic®. Existing DB-Library applications developed against earlier versions of SQL Server can be run against SQL Server version 7.0, but features introduced in SQL Server 7.0 are not available to DB-Library applications.
SQL Server includes a C precompiler for the Embedded SQL API. Embedded SQL applications use the DB-Library DLL to access SQL Server.
The Microsoft OLE DB Provider for SQL Server, the SQL Server ODBC driver, and DB-Library are each implemented as a DLL that communicates to SQL Server through a component called a client Net-Library.
Overview of Building SQL Server Applications | Application Development Architecture |