First, ODBC
In 1992, Microsoft and Sybase and digital jointly developed an ODBC standard interface to access a wide variety of databases in a single ODBC API. Subsequently, ODBC gained the support of many database vendors and Third-party, and gradually became the standard data access technology.
ODBC supports a wide range of databases with the scope covered by the then industry standard specification X/opencall-levelinterface (CLI) and Iso/iec9075-3call-levelinterface (SQL/CLI). Although ODBC is inefficient in its initial version and has limited functionality, it is also demeaning. However, as Microsoft continues to improve ODBC, and the efficiency of ODBC is increasing, the functionality of the ODBC driver is becoming more complete. To date, ODBC has been a stable and efficient data access engine. However, ODBC supports only relational databases, as well as traditional database data types, and serves only in the form of C/C + + language APIs (the API is the lowest-level program, which is the least--. dll file in Windows) and therefore does not conform to increasingly complex data access applications , and cannot be used for scripting languages. So Microsoft, in addition to ODBC, has introduced other data access technologies to meet the different needs of programmers. (Note: ODBC is a process-oriented language, developed by the C language, can not be compatible with multiple languages, so it is difficult to develop, and only support limited database company, for the later Excel, etc. cannot support at all)
ODBC, open Database Connectivity, is an integral part of the database in the Microsoft Open Service Architecture (Wosa,windows Open Services Architecture), which establishes a set of specifications and provides a set of standard APIs (application programming interfaces) for database access. These APIs use SQL to accomplish most of their tasks. ODBC itself also provides support for the SQL language, which allows users to send SQL statements directly to ODBC.
To access a database, the application must first register a data source with the ODBC Administrator, which establishes the connection between ODBC and a specific database based on information such as the database location, database type, and ODBC driver provided by the data source. This allows the application to establish a connection to the corresponding database as long as the data source name is supplied to the ODBC,ODBC.
Second, OLE DB
As data sources become increasingly complex, it is likely that today's applications will need to get data from different data sources, process them, and then output the processed data to another data source. More troubling is that these data sources may not be traditional relational databases, but may be electronic signature information on Excel files, email,internet/intranet. Microsoft to enable applications to access a wide variety of different numbers in a unified manner
The universaldataaccess (UDA) architecture was proposed in 1997. UDA, with COM technology as its core, assists programmers in accessing various data sources in the enterprise. UDA is a skeleton of technology with OLE-DB (software that belongs to the operating system level). OLE-DB defines a unified COM interface as a standard for accessing various heterogeneous data sources, and is encapsulated within a set of COM objects. With OLE-DB, programmers can access a variety of data in a consistent way. But still OLE DB is a low-level, inefficient use.
OLE DB (object link and embed are objects connected and embedded. ) is Microsoft's strategic low-level application interface to different data sources. OLE DB includes not only the structured Problem language (SQL) capability of the Microsoft-funded standard data Interface Open Database Connectivity (ODBC), but also the pathways for other non-SQL data types. As a design of Microsoft's Component Object Model (COM), OLE DB is a set of methods for reading and writing data (which in the past may be called a channel). The objects in the old DB mainly include the data source object, the stage object, the Command object, and the row group object. Applications that use OLE DB use the following request sequence: Initialize OLE connection to data source Issue command processing results release the data source object and stop initializing OLE
The new concept defined in the OLE DB standard----OLE DB divides traditional database systems into logical components that are relatively independent and communicate with one another. The various parts of this component model are labeled with different names: Data Provider. Software components that provide data storage, small to normal text files, complex databases large to the host, or e-mail storage are examples of data providers. Some documents refer to developers of these software components as data providers.
To open data in an Access database, we must open it with the OLE DB. ADO uses OLE DB to get the data because OLE DB knows how to communicate with many kinds of data sources, so it is important to have a good understanding of OLE DB.
- The difference between OLE DB and ODBC
Since OLE DB and ODBC standards are all designed to provide a unified access data interface, there was a confusion: is it a new standard for ODBC? The answer is in the negative. In fact, the ODBC standard object is a SQL-based data source (sql-based), whereas OLE DB objects are any data store of a wider scope. In this sense, ODBC-compliant data sources are subsets of data stores that conform to OLE DB standards.
Third, ADO
While OLE-DB allows programmers to access various types of data, it is a very good architecture, but because OLE-DB is too low-level and very complex to use, it requires the programmer to have great skill, so only a few programmers have the means to use ole-db. This makes ole-db unable to be widely popular. To solve this problem, and to allow VB and scripting languages to access various data sources via OLE-DB, Microsoft also encapsulates ole-db as an ADO object in COM technology (this step is important to realize that many programs can be tuned to each other and can be developed in a rich language) Simplifies the work of programmer data access. Since ADO successfully encapsulates most of the functionality of OLE-DB and greatly simplifies data access, ADO is increasingly accepted by more and more programmers.
Microsoft's ADO (ActiveX data Objects) is a COM component that is used to access data sources. It provides a programming language and uniform data access for an intermediate layer of OLE DB. Allows developers to write code that accesses data without worrying about how the database is implemented, but only the connections that are concerned with the database. When accessing a database, knowledge of SQL is not necessary, but SQL commands supported by a particular database can still be executed through the Command object in ADO.
ADO was designed to inherit the early Microsoft Data Access object layer, including RDO (Remote dataobjects) and DAO (data Access Objects). ADO was released in the winter of 1996.
ADO consists of 6 classes: Connection,command,recordset,errors,parameters,fields
- Talk about your own understanding.
Say that the popular Point OLE DB and ODBC are the most basic things, and the ADO object provides us with a "visualization", and the application layer directly interacting with the components, we do not have to pay much attention to the internal mechanism of OLE DB, only need to understand the ADO to create a data source through OLE database several ways, You can easily get the data source through ADO. It can be said that ADO is a middle tier of the application and data underlying, and ADO objects indirectly acquire data from the database through OLE DB. OLE DB simply provides a common interface to a variety of databases, which can be simply used to represent: