ODBC can be directly used with Java because it uses a C interface
ODBC makes uses of pointers which has been totally removed from JAVA
ODBC is from Microsoft while JDBC is from java applications
ODBC requires manual installation of the ODBC driver manager and driver on all client machines. While for JDBC driver are written in Java and JDBC code is automatically installable, secure and portable on all platforms.