.NET 6连接Oracle 11G超时异常求助(Oracle 10G正常)
.NET 6 连接Oracle 11G超时,10G正常问题
使用.NET 6.0(Visual Studio 2022 Enterprise)连接Oracle 11G时出现连接超时错误,连接Oracle 10G则完全正常。错误信息如下:
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): 连接请求超时
配置代码
builder.Services.AddDbContext<ApplicationDbContext>( options => options.UseOracle(builder.Configuration.GetConnectionString("OracleDb")) );
连接字符串
"OracleDb": "User Id=PGCJIRA; Password=JIRA;Data Source=10.12.4.29:1521/orcl;Validate Connection=true",
使用的NuGet包
- Oracle.ManagedDataAccess.Core 3.21.100
- Oracle.ManagedDataAccess : 21.10.0
- Oracle.EntityFrameworkCore : 7.21.9
已尝试的解决方案(均无效)
- 在连接字符串中添加
Validate Connection=true - 修改连接字符串为:
"User Id=JIRA; Password=JIRA;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.12.4.29)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))" - 设置
Connection Max Pool Size=5 - 设置
Connection Timeout=240
完整异常信息
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): 连接请求超时 在 OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) 在 OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) 在 OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria) 在 Oracle.ManagedDataAccess.Client.OracleConnection.Open() 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternal(Boolean errorsExpected) 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected) 在 Oracle.EntityFrameworkCore.Storage.Internal.OracleRelationalCommandBuilderFactory.OracleRelationalCommandBuilder.OracleRelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject) 在 Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator) 在 Oracle.EntityFrameworkCore.Storage.Internal.OracleExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded) 在 Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext() 引发异常:“Oracle.ManagedDataAccess.Client.OracleException”类型的异常在 Microsoft.EntityFrameworkCore.Relational.dll 中发生,但未在用户代码中进行处理 外部组件引发了异常。
内容的提问来源于stack exchange,提问作者MUHIUDDIN
相关产品推荐
相关产品推荐

