Salut,
ça fait quelques temps que je misère à brancher une appli java sur une bdd oracle en utilisant l'accès natif (driverType=oci)
Mon serveur tourne sous ubuntu server 10.4 (imposé, hein...)
L'instant client a été installé, avec tout ce qui va bien (en théorie)
Citation :
root@srv:~/# aptitude search oracle
p cl-sql-oracle - CLSQL database backend, Oracle
p libmono-oracle1.0-cil - Mono Oracle library (for CLI 1.0) p libmono-oracle2.0-cil - Mono Oracle library (for CLI 2.0) i oracle-instantclient11.2-basic - Instant Client for Oracle Database 11g
i oracle-instantclient11.2-devel - Development headers for Instant Client. i oracle-instantclient11.2-jdbc - Supplemental JDBC features for the Oracle Instant Client
i oracle-instantclient11.2-sqlplus - SQL*Plus for Instant Client.
p spamoracle - A statistical analysis spam filter based on Bayes' formu
|
dans mon .profile, j'ai positionné les variables ORACLE_HOME et LD_LIBRARY_PATH vers les répertoires qui-vont-bien :
Citation :
ORACLE_HOME=/usr/lib64/oracle/11.2/
LD_LIBRARY_PATH=/usr/lib64/oracle/11.2/client64/lib/ usr/lib64
|
J'ai un tnsnames.ora qui contient mes entrées vers mes différentes bases...
Et lorsque je lance un sqlplus64, j'arrive à me connecter sans soucis.
Bon, c'est là que ça se gâte :
Je lance mon serveur d'appli et lorsqu'il essaye de se connecter à la base, j'obtient cette exception :
Citation :
2011/02/09 16:54:02 | Manager got error in configure: ===========================
2011/02/09 16:54:02 | java.sql.SQLException: Connexion interrompue
2011/02/09 16:54:02 | at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
2011/02/09 16:54:02 | at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
2011/02/09 16:54:02 | at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
2011/02/09 16:54:02 | at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
2011/02/09 16:54:02 | at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
2011/02/09 16:54:02 | at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:653)
2011/02/09 16:54:02 | at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:338)
2011/02/09 16:54:02 | at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
2011/02/09 16:54:02 | at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:133)
2011/02/09 16:54:02 | at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
2011/02/09 16:54:02 | at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465)
2011/02/09 16:54:02 | at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:275)
2011/02/09 16:54:02 | at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:206)
2011/02/09 16:54:02 | at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:156)
|
J'utilise un driver oracle.jdbc.pool.OracleDataSource
Que je configure ma dataSource en utilisant les propriétés du drivers ou l'url, c'est la même chose...
Evidemment, si j'utilise le driver java (thin) ça marche nickel
Pour info, c'est pas la première fois que je me connecte à une base oracle en oci (obligatoire pour se connecter au clusters) mais là, j'avoue que je pige pas...
Ça vient peut être de l'instant client... Enfin, quoi que ce soit, c'est un problème de conf de la machine ou de l'env de l'utilisateur.
Si quelqu'un a une idée...
Merci d'avance.