OracleClient +与.NET的TNSless连接

use*_*799 3 .net oracle database-connection ora-12514

我们使用System.Data.OracleClient和抽象基类DbConnection,DbCommand(等)连接到Oracle.

连接在我们的开发阶段工作正常.在暂存期间,我们遇到错误ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务.

我们的目标是在没有TNS条目的情况下进行连接,并在连接字符串中提供所有相关信息(www.connectionstrings.com/oracle#19)

我可以确认SQL plus将从登台服务器连接到所需的架构(侦听器正在侦听).连接到SQLPlus的TNS条目匹配正在构建的查询字符串的所有凭据.

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

我们错过了服务器上的安装吗?我们可以调整什么?

任何帮助表示赞赏.

Rob*_*Rob 7

SID不是服务名称.服务名称通常是完全限定的数据库名称,而SID是短标识符.

服务名称可能是dbname.company.com,而您的SID是dbname.实例实际上可以有多个与之关联的服务名称,但只有一个SID.

在您的连接字符串中将您的SERVICE_NAME更改为SID,或指定SERVICE_NAME选项的服务名称.