Page 1 of 1

Oracle Deployment Connectivity Issues

Posted: Mon 27 Apr 2009 22:53
by jtucholski2
We are trying to test our newly deployed application on a web server and keep receiving the following errors when trying to establish a connection to the Oracle Server:






An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at OciDynamicType.nativea(Int32 )
at OciDynamicType.a(Int32 )
at Devart.Data.Oracle.al..ctor(Boolean A_0, Boolean A_1, OracleHome A_2)
at Devart.Data.Oracle.al.a(Boolean A_0, Boolean A_1, OracleHome A_2)
at Devart.Data.Oracle.OracleInternalConnection..ctor(x connectionOptions, OracleInternalConnection proxyConnection)
at Devart.Data.Oracle.by.a(h A_0, Object A_1, DbConnectionBase A_2)
at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, h A_1)
at Devart.Common.DbConnectionPool.a()
at Devart.Common.DbConnectionPool.GetObject()
at Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Data.Oracle.OracleConnection.Open()
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
System.BadImageFormatException

The underlying provider failed on Open.
.GetEnumerator()
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at System.Data.Objects.ELinq.ObjectQueryProvider.b__2[TResult](IEnumerable`1 sequence)
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.Count[TSource](IQueryable`1 source)
at Rosetta.Amp.Services.Profile.Data.ProfileServiceDataAdapter.GetEntityProfileByGUID(Guid profileGuid)
at Rosetta.Amp.Services.Profile.Data.ProfileServiceDataAdapter.GetProfileByGuid(Guid profileGuid)
at Rosetta.Amp.Services.Profile.Strategies.ProfileServiceSimpleStrategy.GetProfilesByProfileId(ProfileResult profileResult)
at Rosetta.Amp.Services.Profile.Strategies.ProfileServiceSimpleStrategy.GetProfilesById(GetProfilesByIdRequest request, GetProfilesByIdResponse response)
at Rosetta.Amp.Services.Profile.Service.ProfileServiceContext.GetProfilesById(GetProfilesByIdRequest getByIdRequest)
at Rosetta.Amp.Services.Profile.Service.ProfileServiceDispatcher.GetProfilesById(GetProfilesByIdRequest getByIdRequest)
at SyncInvokeGetProfilesById(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)]]>
System.Data.EntityException


The server that this is running against is Windows 2008 64-bit OS. We can easily switch back to SQL Server and have it work, so we know it is not a 64/32 bit issue.

The installation process order was
DevArt Professional Trial
Oracle Instant Client
Oracle Administrator Client

What ideas do you think could be causing the above issue? We use the same connection string locally on our development machines and have no problems getting things to run.

Posted: Tue 28 Apr 2009 08:51
by AndreyR
The problem looks like a 64/32 bit issue anyway. It is likely that you have 64-bit Oracle Client and 32-bit application.
Try to recompile your application for different CPUs (x64 or x86, corresponding to your Oracle Client version).

Posted: Tue 28 Apr 2009 12:48
by jtucholski2
Do we need to reference the DevArt.Data.Oracle dll's in our project or just place them in the bin folder upon deployment?

Posted: Tue 28 Apr 2009 13:55
by Shalex
Please add references to Devart assemblies in your project.

To deploy applications written with dotConnect for Oracle you should register run-time assemblies Devart.Data.Oracle.dll and Devart.Data.dll at Global Assembly Cache (GAC) for appropriate framework or place them in the folder of your application (the Bin folder for web projects).

For more information, please refer to our online documentation: http://www.devart.com/dotconnect/oracle/docs/ .