Connexion d'application en C# avec Oracle 10g: ORA-12154: TNS:impossible de résoudre le connecter identifiant spécifié
Je suis un débutant dans le travail avec les bases de données. Je suis en train d'essayer d'accéder à Oracle10g base de données à partir d'une application en c#. Mais quand je le fais, j'obtiens cette erreur:
ORA-12154: TNS:impossible de résoudre le connecter identifiant spécifié"
Je suis en utilisant le code suivant:
string oradb = "Data Source=ORCL;User Id=system;Password=goodbye;";
OracleConnection conn = new OracleConnection(oradb); //C#
conn.Open();
Est-il une erreur dans la chaîne de connexion oradb
?
- Le nom de source de données autant que je sache, doit être enregistré en tant que nom TNS, il est juste de dire qu'il ne sait pas où votre base de données appelée ORCL) est situé.
- Comment dois-je faire?
- essayez avec
Data Source =localhost:1521/orcl;User Id=system;Password=goodbye;
. Avertissement: c'est à partir de la mémoire et je n'ai travaillé une fois avec Oracle. - Essayé et a obtenu une nouvelle exception "ORA-12514: TNS:auditeur ne savent pas aujourd'hui de service demandé dans le descripteur de connexion"
- Merci! J'ai utilisé la chaîne de connexion "Data Source =localhost:1521/XE;User Id=système;Mot de passe=au revoir;" et cela a fonctionné!
- Apparemment, j'avais besoin de définir ORCL) instance dans tnsnames.ora fichier
Vous devez vous connecter pour publier un commentaire.
Démarrer le
Visual Studio
, ouvrezView
menu de l'Explorateur de serveurs.Data Connection
+Add Connection
+ SélectionnezOracle Database
localhost
ouname of your machine
, définir l'utilisateur & mot de passe et cliquez sur Tester la Connexion pour vérifier les paramètres ci-dessus. Appuyez sur OK si le test est réussit.De propriétés de windows, vous pouvez obtenir de la Chaîne de connexion et il faut chercher une comme:
Start Database
)XE
nom de l'instance si vous avez oracle 10g express edition.Oracle est tout en indiquant qu'il ne peut pas trouver la base de données.
Si vous êtes en cours d'exécution d'un local
Express Edition
base de données, vous devriez être en mesure de l'utiliser justeXE
comme un nom d'instance, et tout devrait déjà être mis en place, sinon vous pouvez très facilement ajouter àtnsnames.ora
.Pour trouver la bonne
tnsnames.ora
pour changer, vous pouvez essayer (à partir de l'invite de commande)Qui va vous dire quels fichiers Oracle utilise pour essayer de trouver la base de données. Si
tnsping
est un inconnu de la commande, vous pouvez avoir à la rechercher et à la bonne place avant de l'exécuter.Celui que vous avez trouvé le bon
tnsnames.ora
, vous devez ajouter l'instanceORCL
à elle. Il devrait y avoir un fichier existant avec des exemples, la syntaxe de ce fichier est trop complexe pour répondre ici, si vous avez besoin d'aide, Oracle a assez vaste documentation.C'est un très commune erreur oracle. Tout simplement, cela signifie que vous avez nommé la base de données que vous souhaitez être branché et Oracle ne sait pas qui diable vous parle. Je suggère de 6 Étapes pour résoudre ORA-12154:
Plus d'informations sur oracle site ou ici : http://turfybot.free.fr/oracle/11g/errors/ORA-12154.html