Today, when I tested dotConnect for Oracle on IIS7 @ Win2008R2 x64, I got the following error:
[InvalidOperationException: Can not find Oracle home.]
Devart.Data.Oracle.OracleInternalConnection..ctor(w connectionOptions, OracleInternalConnection proxyConnection) +718
Devart.Data.Oracle.b1.a(l A_0, Object A_1, DbConnectionBase A_2) +148
Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, l A_1, DbConnectionBase A_2) +112
Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) +48
Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) +908
Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0) +79
Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) +393
Devart.Common.DbConnectionBase.Open() +347
Devart.Data.Oracle.OracleConnection.Open() +307
Devart.Data.Linq.Provider.ConnectionManager.GetOpenConnection() +300
After some research, I found that I have to Enable 32-bit Appilcations on IIS 7 to resolve the problem.
Is this by design when using dotConnect for Oracle in x64 platform?
Can not find Oracle home error
The mode of an application that uses Oracle client should be the same as the mode of the Oracle client. If your Oracle client is a 32 bit one, your application should be a 32 bit as well. You can find the mode of the processes via Windows Task Manager. We compile our assemblies with the "any CPU" platform target. So, they can be used in the x86 and x64 modes.