Pregunta

Estamos utilizando System.Data.OracleClient y las clases de base abstracta DbConnection, DbCommand (etc) para conectarse a Oracle.

La conexión funciona bien en nuestras etapas de desarrollo. Durante puesta en escena nos encontramos con el error ORA-12514: TNS: escucha actualmente no sabe de servicio solicitado en el descriptor de conexión

.

Nuestro objetivo era conectar sin una entrada de TNS, y proporcionar toda la información relevante en la cadena de conexión (www.connectionstrings.com/oracle#19)

Puedo confirmar que SQL además se conectará con el esquema deseado desde el servidor de ensayo (el oyente está escuchando). La entrada TNS enganchado en SQLPlus coincide con todas las credenciales de la cadena de consulta que se construyen.

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

¿Hay una instalación en el servidor nos perdimos? Algo que podemos modificar?

Cualquier ayuda es apreciada.

¿Fue útil?

Solución

Un SID no es un nombre de servicio. A nombre del servicio es por lo general un nombre de base de datos completo, mientras que un SID es un identificador corto.

Un nombre de servicio pueden ser dbname.company.com mientras el SID es nombredb. Una instancia en realidad puede tener varios nombres de servicios asociados a ella, pero sólo uno de SID.

Cambiar su SERVICE_NAME a SID en su cadena de conexión, o especificar el nombre del servicio para la opción de SERVICE_NAME.

Otros consejos

Si no recuerdo mal, he tenido el mismo problema hasta que me pasa a usar los proveedores de Oracle y OracleDbConnection y OracleDbCommand. Los genéricos no siempre ejemplifican el proveedor correcto en todos los casos.

Si su cliente de Oracle está en la versión 10+, usted podría también utilizan EZConnect (que representa Easy Connect método de nomenclatura ). Su cadena de conexión podría tener el siguiente aspecto:

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

Combinado con Oracle Instant Client , hace que el uso de Oracle se siente casi profesional! ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top