I'm receiving a "Server did not respond within the specified timeout interval" error

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
casey.curry
Posts: 2
Joined: Thu 26 Mar 2015 16:20

I'm receiving a "Server did not respond within the specified timeout interval" error

Post by casey.curry » Thu 26 Mar 2015 16:37

I'm trying to run a query in a Windows service and I'm receiving a "Server did not respond within the specified timeout interval" error. However, if I run the same query using Sql Plus, it runs in milliseconds.

My environment looks like this...

- dotConnect 8.4.293
- Windows Server 2012 R2
- Oracle Client 11.2.0.4 64 bit
- My windows service is running in 64 confirmed in Task Explorer
- EF 6
- I'm using tns_names.ora to connect. TNSPING finds the tns entry I'm using in my connection string. As mentioned, Sql Plus is able to run the same query that is timing out in my service.

Anyone have any clues what my issue may be?

Here is the stacktrace...

SimpleInjector.ActivationException: The registered delegate for type IDistributorManager threw an exception. An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. ---> System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. ---> System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> Devart.Data.Oracle.OracleException: Server did not respond within the specified timeout interval
at Devart.Data.Oracle.ax.a(ce A_0, s A_1)
at Devart.Data.Oracle.OracleInternalConnection..ctor(ce connectionOptions, OracleInternalConnection proxyConnection)
at Devart.Data.Oracle.au.a(r A_0, Object A_1, DbConnectionBase A_2)
at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, r A_1, DbConnectionBase A_2)
at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection)
at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Common.DbConnectionBase.Open()
at Devart.Data.Oracle.OracleConnection.Open()
at Devart.Data.Oracle.Entity.a4.a(DbConnection A_0, OracleServerType& A_1)
at Devart.Data.Oracle.Entity.OracleEntityProviderServices.GetDbProviderManifestToken(DbConnection connection)
at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
--- End of inner exception stack trace ---
at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
--- End of inner exception stack trace ---
at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection)
at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
at System.Data.Entity.Internal.InternalContext.ForceOSpaceLoadingForKnownEntityTypes()
at System.Data.Entity.DbContext.System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()
at Ibsa.Data.EntityFramework.UnitOfWork..ctor(DbContext dbContext)
at Ibsa.Data.EntityFramework.UnitOfWork`1..ctor(TContext dbContext, IDatabaseInitializer`1 initializer)
at DynamicInstanceProducer1.GetInstance(Object[] constants)
at SimpleInjector.CompilationHelpers.<>c__DisplayClass1b`1.<CompileInDynamicAssemblyAsClosure>b__1a()
at SimpleInjector.InstanceProducer.GetInstance()
--- End of inner exception stack trace ---
at SimpleInjector.InstanceProducer.GetInstance()
at SimpleInjector.Container.GetInstance(Type serviceType)
at Ibsa.Ioc.IocInstanceProvider.Resolve(Type type, InstanceContext instanceContext, Message message)
at System.ServiceModel.InstanceProvider.ResolveInternal(Type type, InstanceContext instanceContext, Message message)

casey.curry
Posts: 2
Joined: Thu 26 Mar 2015 16:20

Re: I'm receiving a "Server did not respond within the specified timeout interval" error

Post by casey.curry » Thu 26 Mar 2015 22:36

This has been solved. My tnsnames.ora file was using an IFILE parameter which doesn't seem to be supported by Devart. I replaced the IFILE with explicit tns entries and my issue is no more.

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: I'm receiving a "Server did not respond within the specified timeout interval" error

Post by Pinturiccio » Fri 27 Mar 2015 15:04

dotConnect for Oracle does not use tnsnames.ora directly. dotConnect for Oracle uses Oracle Client, which works with tnsnames.ora. We have tested IFILE and can connect to database with dotConnect for Oracle.

Please try setting the IFILE parameter to the full path to the file.

Post Reply