暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 本地网络应用程序 (ASP.NET核心与EF核心完美运行) 发布到azure

ASKTOM 2020-11-25
978

问题描述

当我将ASP.NET Core Web应用程序发布到Azure时,尝试使用oracle数据库时出现以下错误。
NetworkException: ORA-12154: TNS:could not resolve the connect identifier specified

OracleInternal.Network.AddressResolution..ctor(string TNSAlias, SqlNetOraConfig SNOConfig, Hashtable ObTnsHT, Hashtable ObLdpHT, string instanceName, ConnectionOption CO)
OracleException: ORA-12154: TNS:could not resolve the connect identifier specified

OracleInternal.ConnectionPool.PoolManager.Get(ConnectionString csWithDiffOrNewPwd,bool bGetForApp,OracleConnection connreforcriteres,string affinitystancename,bool bForceMatch)
复制


我通过设置来修复这些错误
我的应用程序设置 (ENV) 中的TNS_ADMIN & WALLET_LOCATION
我还设置了网站 _ 加载 _ 用户 _ 配置文件

然后我在尝试运行Oracle DB代码时出现新的错误。

处理请求时发生未处理的异常。
OracleException: 连接请求超时

OracleInternal.ConnectionPool.PoolManager.Get(ConnectionString csWithDiffOrNewPwd,bool bGetForApp,OracleConnection connreforcriteres,string affinitystancename,bool bForceMatch)

这个我似乎想不明白。

有没有人有任何指针或我可以尝试的东西?
我的连接字符串看起来像这样,并且在本地设置上完美工作。

"User Id=user;Password=password;Data Source=db202011081718_medium;"
复制


并在startup.cs中注入
            services.AddDbContext(options =>
                options.UseOracle(
                    Configuration.GetConnectionString("OracleDBContextConnection")));
复制

我一定错过了一些与azure/oracle细节有关的东西,这些东西玩得不好
我已经看了3/4次这个视频
https://www.youtube.com/watch?v=-IkDuJy30mY

专家解答

从 “db202011081718_medium” 我假设您使用的是自治数据库。

你能确认你

-下载了一个连接文件 (zip)
-解压缩到一个空目录 (让我们假设x:\ oracle)
-编辑了sqlnet.ora指向x:\ oracle
-将TNS_ADMIN设置为x:\ oracle

此时,安装了Oracle客户端后,您应该能够执行 “tnsping db202011081718_medium”,例如

C:\>cd C:\oracle\cloud_cmcdonald1

C:\oracle\cloud_cmcdonald1>dir
 Volume in drive C is OS
 Volume Serial Number is 0F26-5E10

 Directory of C:\oracle\cloud_cmcdonald1

16/06/2020  11:37 AM              .
16/06/2020  11:37 AM              ..
16/06/2020  03:37 AM             6,733 cwallet.sso
16/06/2020  03:37 AM             6,688 ewallet.p12
16/06/2020  03:37 AM             3,275 keystore.jks
16/06/2020  03:37 AM               691 ojdbc.properties
16/06/2020  03:37 AM               317 README
16/06/2020  11:38 AM               125 sqlnet.ora
16/06/2020  03:37 AM             1,841 tnsnames.ora
16/06/2020  03:37 AM             3,336 truststore.jks

C:\oracle\cloud_cmcdonald1>grep WALLET sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="C:\oracle\cloud_cmcdonald1")))

C:\oracle\cloud_cmcdonald1>set TNS_ADMIN=C:\oracle\cloud_cmcdonald1

C:\oracle\cloud_cmcdonald1>tnsping cmcdonald1_low

TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 27-NOV-2020 15:49:28

Copyright (c) 1997, 2020, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\cloud_cmcdonald1\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (description= (retry_count=20)(re....[rest of tns string]
OK (1360 msec)

复制


你能做到这一点吗?

文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论