This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Database management systems are very complex in nature with many features. Comparisons of different DBMS products are very difficult because they have multiple attributes and variation of features in different products makes it difficult. Each product has their own technical features, individual developers and database administrators have their own personal preferences. Industry comparisons of DBMS with reference to technical features are always available, but developers are facing new choices. As more IT functions migrate toward a database environment, administration, stability, and performance will encompass more important roles in the selection of a particular database product. 
Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). The designers of ODBC had a goal to make it independent of programming languages, database systems, and operating systems. ODBC implements run in many operating systems like Microsoft windows, Linux, UNIX, Mac OS X and more. ODBC is standard database access method developed by SQL Access group in 1992. The goal of ODBC is to make it possible to access any data from any application, regardless of which database management system (DBMS) is handling the data.
3.1 Characteristics of ODBC
The goal of ODBC drivers is to make it possible to access any data from any application, regardless of which database management system (DBMS) is handling the data. This is done by making ODBC as a middle layer called a database driver between an application and the DBMS tool. This layer translates performs the translation of application data queries to simple commands which are easy to understand by DBMS. When the ODBC drivers are properly installed at the time this translation engine provides the facility to access the data file from any application and any version. Hundreds of ODBC drivers exist. Drivers are available for Oracle, DB2, Microsoft SQL Server, Sybase, Pervasive SQL, IBM Lotus Domino, MySQL, PostgreSQL, OpenLink Virtuoso, and desktop database products such as FileMaker, and Microsoft Access. ODBC supplies metadata to applications through its catalog API functions. The SQL Server Native Client ODBC driver implements many of the ODBC API catalog functions as calls to a corresponding SQL Server catalog procedure. Metadata is data that describes other data .
Structure of ODBC:-
3.2 Strength of ODBC
The strength of ODBC is that by providing a universal data access interface, it allows independent software companies and parties do not have to learn multiple application programming interfaces. Applications can simultaneously access, view, and modify database from numerous and quite diverse databases. This is because the ODBC "re-codes" the SQL queries so that it would be readable by the various different databases.
3.3 Weakness of ODBC
However, the ODBC also has its own drawbacks. When managing a huge number of ODBC clients can mean a huge amount of drivers and DLLs being run, this could lead to a system administration overhead. However, this issue led to further uses of the ODBC server technology (or the "Multi-Tier ODBC Drivers") to ease the load. Also, as drivers are a key in ODBCs, some have raised the issue of the newer driver's stability, as often many have shown to have bugs in them. ODBC driver fail can a big problem.
4.0 DAO/RDO - Data access objects/Remote data objects
DAO (Data Access Objects) is an application program interface (API) available with Microsoft's Visual Basic that lets a programmer request access to a Microsoft Access database. DAO was Microsoft's first object-oriented interface with databases. DAO objects encapsulate Access's Jet functions. Through Jet functions, it can also access other Structured Query Language (SQL) databases. Remote Data Objects similarly to the way you use the Microsoft Jet database engine Data Access Objects (DAO) and the Remote Data control is similar to the Data control. With RDO, you can submit queries, create a result set or cursor, and process the results from the query using database-independent object-oriented code. 
A data access interface is an object model that represents various aspects of accessing data. Using Visual Basic, you can programmatically control the connection, statement builders, and returned data for use in any application. 
4.1 Strength of DAO/RDO
For backward compatibility, Visual Basic continues to support DAO and RDO for existing projects. For more information on RDO programming, see Using Remote Data Objects and the Remote Data Control. For information on DAO programming, see Using Data Access Objects with Remote Databases. Complete DAO reference can also be found at Microsoft DAO 3.6. Upgrading from RDO to ADO Consider upgrading if you decide ADO offers benefits your RDO-based application can use. See ADO Compared with RDO and DAO for a discussion of the differences among the platforms and for guidance on changing an RDO-based project to an ADO project. See Converting from RDO 2.0 to ADO 2.0 for upgrade guidance.
Easy to use, workspace level support. Both MFC and API provides DAO support. Speed is relatively faster than ODBC for jet database engine databases. Easy to use, especially when developer are not familiar with COM environment. SQL support. Both API and MFC support. Good for relational databases only. DAO is fairly easy to use. It can run on 16 bit environment.
4.2 Weakness of DAO/RDO
When ADO first came out, many developers were complaining about bugs and speed. However, ADO is improving, and with ADO.NET, developers will get even more flexibility, scalability, and options. Older code written in RDO and DAO will not automatically convert to Ado code, so you will have to make a number of manual changes. DAO doesn't just let you access data. DAO is older technology, and it doesn't offer as much functionality as RDO and ADO.
The data access object(DAO) requires a larger amount of codes to be typed in for the implementation, unless the data access objects code generator is being used, which does not suitable for the new user to implement the codes easily. DAO is limited to low speed for accessing the database and it can be used for the limited number of user.
Remote data object is not suitable for the Jet database or ISAM database. But RDO lets the users to execute queries against the stored procedures and handle multiple result sets. Remote data object is limited to very few numbers of users and it is much slow in processing when compared with open database connectivity.
5.0 OLE-DB - Object linking and embedding database
OLE-DB is an API designed by Microsoft for accessing different types of data stored in a uniform manner. It is a set of interfaces implemented using the Component Object Model (COM), it is otherwise unrelated to OLE. It was designed as a higher-level replacement for, and successor to, ODBC, extending its feature set to support a wider variety of non-relational databases, such as object databases and spreadsheets that do not necessarily implement SQL.
OLE-DB separates the data store from the application that needs access to it through a set of abstractions that include the data source, session, command and row sets. This was done because different applications need access to different types and sources of data and do not necessarily want to know how to access functionality with technology-specific methods. OLE-DB is conceptually divided into consumers and providers. The consumers are the applications that need access to the data, and the provider is the software component that implements the interface and therefore provides the data to the consumer. OLE-DB is part of the Microsoft Data Access Components (MDAC) stack. MDAC is a group of Microsoft technologies that interact together as a framework that allows programmers a uniform and comprehensive way of developing applications for accessing almost any data store. OLE-DB providers can be created to access such simple data stores as a text file and spreadsheet, through to such complex databases as Oracle, SQL Server and Sybase ASE. It can also provide access to hierarchical data stores such as email systems. 
5.1 Strength of OLE-DB
OLE-DB separates the data store from the application that needs access that makes OLE-DB faster to response the queries done by the users. Provides native client/server access to the high-performance also provides high speed processing and better security with the relational database management systems. The Advantage OLE DB Provider allows ADO to access data via an Advantage Database Server or Advantage Local Server.
Supports SQL commands with both the advantage database server and advantage local server It enables the query in structured query language between both the client server and the database server. Includes database security functionality and encryption support It provides the database with the complete authentication about the user and his various privileges to access the tables in the database. Provides complete referential integrity support, including primary/foreign key definition and cascaded updates and deletes: - Similar to oracle 10g it provides complete referential integrity for the user to avoid data invalidity and other convenience.
5.2 Weakness of OLE-DB
However, because different data store technologies can have different capabilities, OLE DB providers may not implement every possible interface available to OLE DB. The capabilities that are available are implemented through the use of COM objects - an OLE DB provider will map the data store technologies functionality to a particular COM interface. Microsoft describes the availability of an interface as "provider-specific," as it may not be applicable depending on the database technology involved. Note also that providers may augment the capabilities of a data store - these capabilities are known as services in Microsoft parlance. 
Security- Since only one local server has its address from the client, thus it results in less robust in the face of the malicious programming. Compatibility- If you choose to implement an in process server, you will not be able to find with object linking and embedding. And that will not be considered for many developers, but if it is, then it is of critical concern. Inability to support links- An in process cannot serve as a link source. Since a data definition language cannot run by itself, it cannot create a file object to be linked to.
6.0 ADO.NET - ActiveX data objects
ADO.NET architecture is very hard to mange. It's code is also very hard to manage. This means there is no common interoperability allowed for ADO.NET. ADO.NET is a data access technology that enables client application to connect to the database and manipulate the data that are contained within the database. It is basically made of the .NET Framework with a highly integrated framework class library. It is essentially designed to adopt all the programming language like Visual Basic, C, C++ and J2E that targets the .NET Frame work. It provides consistent access to data source such as Microsoft structured Query Language server as well as data source exposed through OLE DB and XML. 
JDBC is a very popular data access standard. RDBMS (Relational Database Management Systems) or third-party vendors develop drivers which adhere to the JDBC specification. Other developers use these drivers to develop applications which access those databases e.g. you'll use Connector JDBC driver to access MySQL database. Since the drivers adhered to JDBC specification, the JDBC application developers can replace one driver for their application with another better one without having to rewrite their application. If they had used some proprietary API provided by some RDBMS vendor, they will not have been able to change the driver and/or database without having to rewrite the complete application.
6.1 Strength of ADO.NET
Interoperability: It is flexible and is broad acceptance of .XML as the .xml format can transmit the data set across the network. With this advantage the procession can be done in any component provided if it can read the .xml format and there need not required for the receiving component to have ADO.NET.
The transmitting component can simply transmit the dataset to its destination without regard to how the receiving component is implemented but the destination component should be the applicant of visual studio.
ADO.NET data encapsulate data access process in various ways that helps to program more quickly and with fewer bugs. For instance, data commands abstract the task of building and executing SQL statements or stored procedures.
6.1 Weakness of ADO.NET
ADO.NET architecture is very hard to manage. Its code is also very hard to manage. This means there is no common interoperability allowed for ADO.NET. A lot of code-SQL statements and business rules, for example-is often repeated throughout the application because various forms use some of the same tables. This makes maintaining this type of application very difficult because if you need to change the name of a table or a field, you have to change it in multiple places. It also requires extra regression testing in multiple locations. Changing the code used to load data into a dataset is more difficult if the source of that data changes. For example, if you use a text file to store your data and then switch to SQL Server, the access method is quite different. In addition, many areas will require code changes in order to load data into your application's dataset. 
7.0 JDBC - Java Database Connectivity
"JDBC stands for "Java Database Connectivity". It is an API (Application Programming Interface) which consists of a set of Java classes, interfaces and exceptions and a specification to which both JDBC driver vendors and JDBC developers (like you) adhere when developing applications". JDBC is a very popular data access standard. RDBMS (Relational Database Management Systems) or third-party vendors develop drivers which adhere to the JDBC specification. Other developers use these drivers to develop applications which access those databases e.g. you'll use Connector JDBC driver to access MySQL database. Since the drivers adhered to JDBC specification, the JDBC application developers can replace one driver for their application with another better one without having to rewrite their application. If they had used some proprietary API provided by some RDBMS vendor, they will not have been able to change the driver and/or database without having to rewrite the complete application.
7.1 Weakness of ADO.NET
Use of JDBC, we can improve a performance of application server and database server. With JDBC technology and Java API makes application development easy and economical. JDBC hides the complexity of many data access tasks, doing most of the "heavy lifting" for the programmer behind the scenes. With JDBC technology, businesses are not locked in any proprietary architecture, and can continue to use their installed databases and access information easily - even if it is stored on different database management systems. With the JDBC API, no configuration is required on the client side. With a driver written in the Java programming language, all the information needed to make a connection is completely defined by the JDBC URL or by a Data Source object registered with a Java Naming and Directory Interface (JNDI) naming service. Zero configurations for clients support the network computing paradigm and centralize software maintenance.
The Advantage JDBC Driver has been designed to allow Java developers to maintain the industry-standard independent connectivity between Java applications and Advantage Database Server. The Advantage JDBC Driver is JDBC 2.0-compliant and passes 100 percent of the relevant JDBC CTS tests. It facilitates a fast link between Advantage, Java IDEs and applications. The Advantage JDBC Driver is written completely in Java and is self-contained within one distributable module. No other Advantage client piece is needed for the Advantage JDBC Driver to communicate to the Advantage Database Server.
The database is very cost effective, and can meet the demands of the modern day web technology era. It is a fast, reliable and a very effective way of keeping in contact with our daily technical issues.