Is there a way to know which driver (thick / thin jdbc, odbc, .net, oci, ...) was used to connect to the database

  • From: "Reardon, Bruce (RTABBAY)" <Bruce.Reardon@xxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 7 Jul 2009 09:39:12 +1000

I use v$session_connect_info to distinguish between BEQ and Net8
I am not sure if this will help with distinguishing thick and thin
drivers (don't have easy way to test at the moment).

Example script - with thanks to Jacques R. Kilchoer response to Oracle-L
in 19-Apr-2001 :

COLUMN connection_method HEADING "Con Type" FORMAT A15 WRAP

   decode (rtrim (substr (b.network_service_banner, 1, 18)) , 
           'Windows NT TCP/IP'  , 'SQL*Net' , 
           'Oracle Bequeath NT' , 'Bequeath' , 
           'Windows NT Named P' , 'IPC - Named Pipes' ,
           'Other? - ' || b.network_service_banner
          ) as connection_method 
   v$session a, 
   v$session_connect_info b 
   a.sid = b.sid(+)
   AND ( INSTR ( b.network_service_banner , 'Oracle Advanced Security' )
= 0
         OR b.network_service_banner IS NULL

Bruce Reardon


Hi Freek,

my tests on Linux show that at least the JDBC driver set the
program column in v$session 
thin driver - connection string jdbc:oracle:thin:@... program = 'JDBC
Thin Client' 
OCI (thick) - connection string jdbc:oracle:oci:@..  program =


This email is confidential and may also be privileged.  If you are not the 
intended recipient, please notify us immediately and delete this message from 
your system without first printing or copying it. Any personal data in this 
email (including any attachments) must be handled in accordance with the Rio 
Tinto Group Data Protection Policy and all applicable data protection laws.

Other related posts: