Nous avons un programme Java qui se connecte via un client léger JDBC à une base de données Oracle 10g.Chaîne de connexion JDBC et synonymes Oracle
Tout fonctionnait bien, mais maintenant le DBA veut que nous nous connections avec un nom d'utilisateur/mot de passe différent, qui est censé avoir accès aux mêmes tables en utilisant des synonymes publics. Malheureusement, le programme Java ne voit plus les tables (voir erreur ci-dessous lorsque j'essaie de faire "select * from nomtable").
J'ai essayé de me connecter en utilisant le même nom d'utilisateur/mot de passe avec Oracle SQL Developer et dans ce cas, je peux exécuter "select * from tableName" sans problèmes.
Y a-t-il un paramètre spécifique que je dois mettre dans la chaîne de connexion?
Merci beaucoup!
Exception in thread "main" java.sql.SQLException: ORA-00942: table or view does not exist
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:790)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1037)
at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1687)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1653)
Edited by: user555817 on 08-Oct-2010 04:55
pouvez-vous envoyer du code et de la config ainsi –
Pouvez-vous exécuter la requête exacte avec succès dans SQL Developer, ou avez-vous testé une seule table? Si la requête a des jointures, ou une sous-requête, etc., il peut manquer un synonyme ou ne pas avoir de privilèges sélectionnés pour l'une des tables. Poster le SQL aiderait. –