【发布时间】:2021-04-16 21:45:27
【问题描述】:
我认为通过 Oracle.ManagedDataAccess.Core NuGet 包使用 ODP.Net 托管连接的全部意义在于您不需要在运行时环境中安装 Oracle 客户端。 我发现很多关于这个的帖子
ORA-12154: TNS:could not resolve the connect identifier specified error
错误,但所有关于潜在修复的讨论都围绕客户端配置问题展开。
我完全按照this article 中的描述进行操作。 当我从 Visual Studio 在本地运行该应用程序时,该应用程序连接良好,但是当它由 Azure 管道构建和部署时,它无法连接。来自服务器的连接不是问题,没有 tnsnames.ora 和 sqlnet.ora 文件,也没有 TNS_ADMIN 和 ORA_HOME 环境变量。
2021-02-15T18:04:40.867284043Z Oracle connection string: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<ip address>)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<sid>)));User Id=<User>;Password=<Password>;
2021-02-15T18:04:40.871226968Z [41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.Server.Kestrel[13]
2021-02-15T18:04:40.871246768Z Connection id "0HM6HRG9F3OUG", Request id "0HM6HRG9F3OUG:00000004": An unhandled exception was thrown by the application.
2021-02-15T18:04:40.871252068Z Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-12154: TNS:could not resolve the connect identifier specified
2021-02-15T18:04:40.871255568Z ---> OracleInternal.Network.NetworkException (0x00002F7A): ORA-12154: TNS:could not resolve the connect identifier specified
我也试过这个 EZ Connect 字符串,但没有成功:
<user>/<password>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=<ip address>)(Port=<port>))(CONNECT_DATA=(SID=<mysid>)))
我错过了什么?
更新:该问题似乎是由 Azure 混合连接管理器的潜在问题引起的,而不是由 Oracle 连接引起的。现在查看 VPN 连接。暂时保留您尝试不同连接字符串格式的建议。
【问题讨论】:
-
在连接字符串中使用
Data Source=(DESCRIPTION=(ADDRESS_LIST=...。
标签: oracle database-connection odp.net-managed