I installed Oracle SQL Developer from Oracle's web page. It seems to work without a Oracle client installed on my computer. How is that possible? I also installed Toad for Oracle and it seems to require Oracle client.
1 Answer
SQL Developer is using the so called "thin driver".
For this the JDBC driver (a file named ojdbc6.jar) implements the complete Oracle network protocol which is usually handled by the Oracle client. It could use the another implementation: the "OCI" (or "thick") driver which would require an Oracle client to be installed. That would be necessary if e.g. Transparent Application Failover in a RAC is required.
This is not something specific to SQL Developer but to any Java application using JDBC to connect to the database.
-
Could you pls, list down cases when do we need oracle client. One is mentioned in the ans as when Transparent Application Failover in a RAC is required. Another cases?Dexter– Dexter2018-03-23 08:57:34 +00:00Commented Mar 23, 2018 at 8:57
-
1@Dexter: docs.oracle.com/database/121/JJDBC/instclnt.htm#JJDBC28217 and docs.oracle.com/database/121/JJDBC/overvw.htm#JJDBC28036user1822– user18222018-03-23 09:03:41 +00:00Commented Mar 23, 2018 at 9:03
-
@Destex Java JDBC standard for example does not support a way to tell you, that our password expired or is about to expire. You need to register thick, in order to change expired password via SQL Developer. Also thick driver provides much detailed error messages than thin one.ibre5041– ibre50412020-09-14 16:27:31 +00:00Commented Sep 14, 2020 at 16:27