Maison > base de données > Oracle > le corps du texte

Comment résoudre l'erreur 12505 d'Oracle

WBOY
Libérer: 2022-05-25 16:06:56
original
15356 Les gens l'ont consulté

L'erreur 12505 se produit car "service_name" et sid sont incohérents. Solution : 1. Utilisez "select INSTANCE_NAME from v$instance" pour obtenir le sid actuel dans la base de données ; 2. Remplissez le sid obtenu dans la chaîne de connexion du programme de base de données.

Comment résoudre l'erreur 12505 d'Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Comment résoudre l'erreur 12505 dans Oracle

C'est très clair lorsque l'invite 12505 apparaît. La bibliothèque d'instance correspondant au sid est introuvable, c'est-à-dire que le "nom_service" d'Oracle est incohérent avec le sid.

Étapes de la solution

1. Exécutez cette instruction :

select INSTANCE_NAME from v$instance;
Copier après la connexion

Obtenez le sid de la bibliothèque d'instance

Comment résoudre lerreur 12505 dOracle

2. Utilisez ensuite le sid pour vous connecter au système

ORA-. 12505 :

Il n'y a eu aucun problème de connexion à la base de données à l'aide de PL/SQL DEVELOPER et SQLPLUS auparavant. Cependant, lorsque l'application s'est connectée à Oracle via JDBC, elle n'a pas pu se connecter correctement et l'erreur ORA-12505 ne s'est pas produite. Je connais actuellement le SID donné dans le descripteur de connexion.... ..

Après la recherche, j'ai découvert que les service_name et sid_name d'Oracle sont incohérents et que PL/SQL DEVELOPER et SQLPLUS utilisent service_name pour se connecter, tandis que l'application se connecte en fonction de sid_name, donc PL/SQL DEVELOPER et SQLPLUS peuvent se connecter mais l'application ne peut pas se connecter. problème.

Description du problème :

L'erreur suivante s'est produite lors de l'utilisation de jdbc pour se connecter à la base de données Oracle 10.2.0.1.0 aujourd'hui :

Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
Copier après la connexion

La base de données peut être connectée normalement via plsql, ou la base de données peut être connectée via sqlplus

Après débogage et recherche associée Les données ont révélé que la cause du problème est la suivante :

Lorsque jdbc se connecte à la base de données, vous devez utiliser le sid_name de la base de données au lieu du service_name de la base de données

Lorsque vous utilisez plsql pour vous connecter à la base de données, vous n'avez besoin que du nom_services de la base de données, donc modifiez la chaîne de connexion nom_services est nom_sid

Tutoriel recommandé : "Tutoriel vidéo Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal