J'utilise jboss5.1.x, ejb3.0, jpa3.
J'essaie de faire "Sélectionner" la requête à partir de la vue connectée via dblink strong> à une autre base de données. p> La base de données source est Je reçois cette erreur: p> Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at ....Caused by: java.sql.SQLException: ORA-01012: not logged on
ORA-02063: preceding line from TO_VANTIVE
4 Réponses :
CREATE SHARED DATABASE LINK CONNECT TO bob IDENTIFIED BY "MyNewPasswd1" AUTHENTICATED BY jim IDENTIFIED BY "JimsPass23" USING 'DB01';
Dites-moi Bob et "MyNewPasswd1" se référer à la base de données source ou à la destination? même question sur "JimSpass23", 'db01' Cardientals? Merci.
Les mots de passe et les noms d'utilisateur des deux utilisateurs se réfèrent à la base de données distante .i.e. Pas la base de données sur laquelle vous créez le lien mais la base de données que vous accédez via le lien.
Êtes-vous capable de vous connecter directement aux deux utilisateurs de la base de données distante? Si vous n'avez pas été en mesure de vous connecter, les autres erreurs sont assez susceptibles d'être à cause de cela que vous ne pouvez vraiment rien faire. Soit le lien ne fonctionne pas (avez-vous une entrée TNS pour la base de données correspondant au lien par exemple) ou il existe une question d'autorisations de quelque nature que ce soit (mot de passe incorrect, compte verrouillé, ne permettant pas de connecter ou d'utiliser l'utilisateur manquant).
Je suis désolé si je n'avais pas mentionné, mais Dblink ordinaire travaillait bien entre eux. Ce problème ne se produit que lorsque j'essaie de "créer une base de données partagée"
OK, alors il est probablement l'authentifié par l'utilisateur qui cause la question (ou que vous pouvez en fait être capable de vous connecter à l'environnement de production). Vous devriez vérifier que vous pouvez connecter dans SQL * Plus et utiliser le lien avec une simple sélection.
Je rencontrais le même problème ici avec un Oracle 11g (ORA-24777). J'ai effectué une jointure entre une seule table (dans mon schéma) et une vue (créée par un lien de base de données). J'ai exécuté le tout sur une source de données JBoss en mode XA. P>
Pour que cela fonctionne bien, je devais précis authentifié par la clause code> pour éviter d'obtenir "ORA-01012: non enregistré" sur. P>
Veuillez vous assurer que le lien DB que vous utilisez est public et partagé, si le lien DB n'est pas public et partagé, il lancera une exception ORA-24777: l'utilisation d'une base de données non migrable non autorisée. Mais si vous essayez d'exécuter la même requête directement sur dB sans une transaction Java ou XA, cela fonctionnera bien. P>
Nous avons le même problème avec Weblogic et la solution consiste à utiliser le pilote XA Oracle JDBC. P>