What is ODBC?
Open Database Connectivity (ODBC) technology provides a common interface for accessing different types SQL databases. ODBC is based on Structured Query Language (SQL) as a standard for accessing data. This interface provides maximum interoperability: a single application can access different SQL Database Management Systems (DBMS) through a common set of code. This enables a developer to build and distribute a client/server application without targeting a specific DBMS. Database drivers are then added to link the application to the user’s choice of DBMS.
ODBC – Pros and Cons:
• Highly efficient performance
• No excessive memory
• Understands many different programming languages
• Drivers are available for 55 DBMSs
• Most widely used
• Difficult to learn and code
• Few commands, but complex options
What is JDBC?
Java Database Connectivity (JDBC) enables java programs to execute sql statements. Java Application cannot directly communicate with a database to submit data & retrieve the results of queries. This is because a database can interpret only SQL statements & not java language statements. So JDBS is a mechanism to translate java statements into SQL statements. JDBC is a Java API for executing SQL statements.
JDBC – Pros and Cons:
• Methods are simple and intuitive
• Code is easy to learn and program
• Automatically installable
• Only for JAVA
Difference between ODBC and JDBC?
1. ODBC is an open interface which can be used by any application to communicate with any database system, while JDBC is an interface that can be used by Java applications to access databases. Therefore, unlike JDBC, ODBC is language independent. But by using JDBC-to-ODBC bridge Java applications can also talk to any ODBC compliant database.
(JDBC-ODBC driver = an interface where the communication is translated from JDBC to ODBC and the communication after the driver to the database is via ODBC)
2. ODBC is procedural and JDBC is object oriented.
3. ODBC is used to provide connection between front-end application(other than java) and back-end (database like MSSQL) and JDBC is used to provide connection between JAVA and database.
4. ODBC is for Microsoft and JDBC is for java applications.
5. ODBC can’t be directly used with Java because it uses a C interface.
6. ODBC makes use of pointers which have been removed totally from java.
7. ODBC is language -independent&JDBC is language-dependent.
8. ODBC requires manual installation of the ODBC driver manager and driver on all client machines.JDBC drivers are written in java and JDBC code is automatically installable,secure and portable on all platforms.
9. ODBC mixes simple and advanced features together and has complex options for simple queries, But JDBC is designed to keep things simple while allowing advanced capabilities when required.
10. JDBC is multi-threaded – ODBC is not multi-threaded (at least not thread safe)
If you found any of the information on this page helpful in anyway then please consider sharing this content with your favorite social network or by leaving your thoughts in the comment section. Thanks!