Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Terhubung ke Oracle DB dari Spring-jdbc dengan otentikasi Oracle Wallet

Anda menyebutkan "tes aplikasi sederhana" jadi saya berasumsi Anda perlu mengonfigurasi pengujian unit Anda. Dalam kelas konfigurasi pengujian unit (misalnya class TestSpringWebConfig extends SpringWebConfig ) ini memberi Anda sumber data Oracle menggunakan dompet (bonus:berikut ini menggunakan akun basis data proxy):

System.setProperty("oracle.net.tns_admin", "path/to/your/tnsnames");

OracleDataSource ds = new OracleDataSource();

Properties props = new Properties();
props.put("oracle.net.wallet_location", "(source=(method=file)(method_data=(directory=path/to/your/wallet)))");

/*
  Use the following only if you have a proxy user database account instead of a normal DB account
  A test user's username could go here though
*/
props.put(OracleConnection.CONNECTION_PROPERTY_PROXY_CLIENT_NAME, "proxy-user-name"); 

ds.setConnectionProperties( props );
ds.setURL("jdbc:oracle:thin:/@dbAlias"); //dbAlias should match what's in your tnsnames

return ds;

Ini juga mengasumsikan Anda memiliki yang berikut di JDK Anda:

Di JAVA_HOME/jre/lib/security/java.security, tambahkan yang berikut ini ke "Daftar penyedia":

security.provider.11=oracle.security.pki.OraclePKIProvider

Dan tambahkan toples berikut dari Oracle ke Java_HOME/jre/lib/ext:

  • osdt_cert.jar
  • osdt_core.jar
  • oraclepki.jar

Dan tentu saja, semua hal di atas mengasumsikan toples ojdbc7 sudah ada di classpath aplikasi Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 19.3 PDB Tutup ORA-65107 ORA-16078

  2. Impor dump dengan parameter SQLFILE tidak mengembalikan data di dalam tabel

  3. Oracle mengganti tanda bintang ke semua kolom dalam tampilan

  4. Menggunakan tampilan tanpa kunci utama dengan Entitas

  5. Pemicu:bagaimana saya bisa menginisialisasi nilai pada tabel dengan nilai pada yang lain?