Oracle tillhandahåller fyra typer av drivrutiner för sin databas, men jag ska bara räkna upp de två du frågade om.
OCI drivrutinen är en typ 2 JDBC-drivrutin och använder inbyggd kod för att ansluta till databasen. Således är det bara ett alternativ på plattformar som har inbyggda Oracle-drivrutiner tillgängliga och det är inte en "ren" Java-implementering.
Oracles JDBC Thin-drivrutin är en typ 4 JDBC-drivrutin som använder Java-sockets för att ansluta direkt till Oracle. Den implementerar Oracles SQL*Net TCP/IP-protokoll direkt. Eftersom det är 100 % Java är det plattformsoberoende och kan även köras från en applet. (inte för att du borde)