Pergunta

Estamos usando System.Data.OracleClient e as classes base abstratas DbConnection, DbCommand (etc) para se conectar ao Oracle.

A conexão funciona bem em nossas fases de desenvolvimento. Durante encenação encontramos o erro ORA-12514: TNS:. Ouvinte não sabe atualmente de serviço solicitado no descritor de conexão

Nosso objetivo era conectar sem uma entrada TNS, e fornecendo todas as informações relevantes na cadeia de conexão (www.connectionstrings.com/oracle#19)

Eu posso confirmar que o SQL mais vai ligar para o esquema desejado do servidor de teste (o ouvinte está ouvindo). A entrada TNS viciado em SQLPlus corresponde a todos as credenciais da string de consulta que está sendo construído.

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

Existe uma instalação no servidor perdemos? Algo que pode ajustar?

Qualquer ajuda é apreciada.

Foi útil?

Solução

Um SID não é um nome de serviço. Um nome de serviço é geralmente um nome de banco de dados totalmente qualificado, enquanto que um SID é um identificador curto.

Um nome de serviço pode ser dbname.company.com enquanto o SID é nome_bd. Uma instância pode realmente ter vários nomes de serviços associados a ele, mas apenas um SID.

Mude o seu SERVICE_NAME para SID na sua seqüência de conexão, ou especificar o nome do serviço para a opção SERVICE_NAME.

Outras dicas

Se bem me lembro, eu tive o mesmo problema até que eu ligado ao uso dos prestadores Oracle e OracleDbConnection e OracleDbCommand. Os genéricos nem sempre instanciar o provedor correto em todos os casos.

Se o seu cliente Oracle está em versão 10+, você também pode usar EZConnect (que significa método de nomeação Easy Connect ). A seqüência de conexão, então, parecido com este:

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

Combinado com a Oracle Instant Client, torna o uso do Oracle sentir quase profissional! ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top