Saya bahkan tidak menyadari bahwa menggunakan tnsnames dengan driver tipis itu mungkin, tetapi ternyata itu ditambahkan di suatu tempat di versi 10:
http://docs.Oracle.com/cd/B19306_01/java.102/b14355/urls.htm#BEIDIJCE
Khususnya:
Catatan:
Saat menggunakan TNSNames dengan driver JDBC Thin, Anda harus menyetel properti oracle.net.tns_admin ke direktori yang berisi file tnsnames.ora Anda.
java -Doracle.net.tns_admin=%ORACLE_HOME%\network\admin
Seperti yang disebutkan, saya belum memeriksa apakah ini benar-benar bekerja.
Saya tidak berpikir bahwa logika "temukan direktori konfigurasi jaringan yang sebenarnya" tersedia melalui beberapa fungsi Oracle. Anda harus melakukannya secara manual seperti yang diuraikan dalam pertanyaan Anda, atau mungkin mengandalkan variabel lingkungan TNS_ADMIN yang ada. Dalam hal ini, pemanggilan java akan menjadi
java -Doracle.net.tns_admin=%TNS_ADMIN%