Question

Nous utilisons System.Data.OracleClient et les classes de base abstraites DbConnection, DbCommand (etc) pour se connecter à Oracle.

La connexion fonctionne très bien dans nos stades de développement. Au cours de la mise en scène nous rencontrons l'erreur ORA-12514: TNS: l'auditeur ne sait pas de service demandé dans le descripteur de connexion

.

Notre objectif était de se connecter sans une entrée TNS, et en fournissant toutes les informations pertinentes dans la chaîne de connexion (www.connectionstrings.com/oracle#19)

Je peux confirmer que SQL plus se connectera au schéma souhaité à partir du serveur de mise en scène (l'auditeur écoute). L'entrée TNS accroché dans tous les matchs SQLPlus pouvoirs de la chaîne de requête en cours de construction.

SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;

Y at-il une installation sur le serveur nous a manqué? Quelque chose que nous pouvons modifier?

Toute aide est appréciée.

Était-ce utile?

La solution

Un SID n'est pas un nom de service. Un nom de service est généralement un nom de base de données complet, alors qu'un SID est un identifiant court.

Un nom de service peut être dbname.company.com pendant que votre SID est nombase. Une instance peut effectivement avoir plusieurs noms de services qui y sont associés, mais seulement un SID.

Changer votre SERVICE_NAME à SID dans votre chaîne de connexion, ou indiquez le nom de votre service pour l'option SERVICE_NAME.

Autres conseils

Si je me souviens bien, j'eu le même problème jusqu'à ce que je suis passé à l'aide des fournisseurs Oracle et OracleDbConnection et OracleDbCommand. Les génériques n'instancier pas toujours le fournisseur correct dans tous les cas.

Si votre client Oracle est en version 10 +, vous pouvez aussi utiliser EZConnect (qui est synonyme de Easy Connect méthode de nommage ). Votre chaîne de connexion alors ressembler à ceci:

"Data Source=MyHost:MyPort/MyServiceName;User ID=myUserName;Password=myPassword"

Combiné avec Oracle instantanée client, il rend l'utilisation d'Oracle se sent presque professionnel! ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top