Oracle 10g [OracleException (0x80004005)

Posts   
 
    
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 25-Aug-2017 20:37:22   

Hello,

I have a web project with this environnment / techs: Windows 8.1 x64 IIS 8.5 Version Microsoft .NET Framework :2.0.50727.8762; Version ASP.NET :2.0.50727.8762

Visual Studiio 2008 Oracle client 10.2.0.5.0 Oracle DAP .net 10.2.0.5.0

LLBLGEN 2.6 built May 15th 2009 Runtime library version NET 2.0 file version 2.6.9 616 product version 2.6.9 0616

When I start the Web application or debug, I always get an error page with [OracleException (0x80004005) The provider is not compatible with the version of Oracle client.

See full error stack below:


Ligne 192 : Dim linq As LinqMetaData = New LinqMetaData(adapter) Ligne 193 : adapter.CommandTimeOut = 300 Ligne 194 : Dim q = (From app In linq.Application _ Ligne 195 : Where app.AppGuid.Value = appGuid _ Ligne 196 : Select New Application With {.ActiveEndDate = app.AppDateFinActif, _

Fichier source : C:***.vb Ligne : 194

Trace de la pile:

[OracleException (0x80004005): Fournisseur incompatible avec la version du client Oracle] Oracle.DataAccess.Client.OracleInit.Initialize() +515 Oracle.DataAccess.Client.OracleCommand..cctor() +51

[TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'Oracle.DataAccess.Client.OracleCommand'.] Oracle.DataAccess.Client.OracleCommand..ctor() +0 SD.LLBLGen.Pro.DQE.Oracle.DynamicQueryEngine.CreateCommand() +22 SD.LLBLGen.Pro.DQE.Oracle.DynamicQueryEngine.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Boolean relationsSpecified, Boolean sortClausesSpecified) +128 ***.LLBLGEN26.Oracle.DynamicQueryEngine.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Boolean relationsSpecified, Boolean sortClausesSpecified) in C:\***\Framework.LLBLGEN26.Oracle\DynamicQueryEngine.vb:36 SD.LLBLGen.Pro.ORMSupportClasses.DynamicQueryEngineBase.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause) +478 SD.LLBLGen.Pro.DQE.Oracle.DynamicQueryEngine.CreatePagingSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Int32 pageNumber, Int32 pageSize) +134 ***.LLBLGEN26.Oracle.DynamicQueryEngine.CreatePagingSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Int32 pageNumber, Int32 pageSize) in C:\***\Framework.LLBLGEN26.Oracle\DynamicQueryEngine.vb:16 SD.LLBLGen.Pro.ORMSupportClasses.DynamicQueryEngineBase.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IDbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Int32 pageNumber, Int32 pageSize) +42 SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.CreateSelectDQ(IEntityFields2 fieldsToFetch, IFieldPersistenceInfo[] persistenceInfoObjects, IPredicateExpression filter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Int32 pageNumber, Int32 pageSize) +84 SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.CreateQueryFromElements(IEntityFields2 fieldCollectionToFetch, IRelationPredicateBucket filterBucket, Int32 maxNumberOfItemsToReturn, ISortExpression sortClauses, Boolean allowDuplicates, IGroupByCollection groupByClause, Int32 pageNumber, Int32 pageSize, IFieldPersistenceInfo[]& persistenceInfo, IRetrievalQuery& selectQuery) +728 SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.FetchProjection(List1 valueProjectors, IGeneralDataProjector projector, IEntityFields2 fields, IRelationPredicateBucket filter, Int32 maxNumberOfItemsToReturn, ISortExpression sortClauses, IGroupByCollection groupByClause, Boolean allowDuplicates, Int32 pageNumber, Int32 pageSize) +80 SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProProvider2.ExecuteValueListProjection(QueryExpression toExecute) +312 SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProProviderBase.ExecuteExpression(Expression handledExpression) +180 SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProProviderBase.Execute(Expression expression) +23 SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProProviderBase.System.Linq.IQueryProvider.Execute(Expression expression) +15 System.Linq.Queryable.FirstOrDefault(IQueryable1 source) +269 ***.DBPortalContentService.GetApplication(Guid appGuid) in C:\***\Framework.Services.PortalContent\DBPortalContentService.vb:194 ***.Web.Common.Global.ApplicationStarting() in C:\***.Portail.Web\Global.asax.vb:58 ***.GlobalBase.Application_Start() in ***\Framework.Web\GlobalBase.vb:7

[HttpException (0x80004005): Une exception a été levée par l'initialiseur de type pour 'Oracle.DataAccess.Client.OracleCommand'.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +2766758 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +128 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +188 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +295 System.Web.HttpApplicationFactory.GetPipelineApplicationInstance(IntPtr appContext, HttpContext context) +56 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +231

[HttpException (0x80004005): Une exception a été levée par l'initialiseur de type pour 'Oracle.DataAccess.Client.OracleCommand'.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9002835 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +333

Informations sur la version : Version Microsoft .NET Framework :2.0.50727.8762; Version ASP.NET :2.0.50727.8762

daelmo avatar
daelmo
Support Team
Posts: 8245
Joined: 28-Nov-2005
# Posted on: 26-Aug-2017 08:52:50   
David Elizondo | LLBLGen Support Team
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 28-Aug-2017 14:49:12   

Hello thanks for the quick reply.

here I took Framework64 machine.config Oracle items:

<configuration> <configSections> <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="system.data.oracleclient" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

... <system.data> <DbProviderFactories> <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

...

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 28-Aug-2017 15:27:04   

Did you by any chance install a different Oracle CLI ? E.g. if you install Oracle 12c ODP.NET, it installs .NET 4.x versions of ODP.NET and a new Oracle CLI with a new oracle home. You might run into that, e.g. your odp.net dlls expect an Oracle CLI in a different oracle Home than that's used at runtime.

Frans Bouma | Lead developer LLBLGen Pro
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 28-Aug-2017 17:13:59   

Hello,

I might have installed Oracle client 11g at first then Oracle 10g. I know my app needs to work with 10g, so I have uninstalled the 11g back a while.

I also know that the app is working on 32bit... I had to check the compatibility option in IIS application pool.

Do you suggest reinstalling .net framework and then oracle client?

Walaa avatar
Walaa
Support Team
Posts: 14950
Joined: 21-Aug-2005
# Posted on: 28-Aug-2017 21:55:23   

If the app is running on 32bit, then you were looking at the wrong machine.config file (64bit). Please look inside the [Framework] folder, and then inside the right .NET version folder.

Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 28-Aug-2017 23:19:49   

Hello,

yes this is the 32bit one note that I've already corrected the 11g version that was there to match 10g Thanks

<configuration> <configSections> <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <section name="system.data.oracleclient" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

... <DbProviderFactories> <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

... <membership> <providers> <add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>

... <providers> <add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider, Oracle.Web, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>

... <roleManager> <providers> <add name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>

... <siteMap> <providers> <add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider, Oracle.Web, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" securityTrimmingEnabled="true"/>

... <personalization> <providers> <add name="OraclePersonalizationProvider" type="Oracle.Web.Personalization.OraclePersonalizationProvider, Oracle.Web, Version=2.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 29-Aug-2017 10:03:30   

That's the 10.2 ODP.NET assembly, which will need the 10g CLI home. It apparently uses the CLI from another home. ODP.NET is a .net dll wrapped around the java based CLI code, so the .net assembly needs to access the right CLI code.

Please check you have the right home selected for the user the app runs under. that's the cause of the issue.

Frans Bouma | Lead developer LLBLGen Pro
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 29-Aug-2017 14:48:02   

Hello,

How can I validate that the home is properly setup? I though the env system variable was the key : ORACLE_HOME link to the 10.g path as right now.

I also want to know how to see wich user is running my web app. I launch it from VS studio 2008 admin mode.

Thanks

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 29-Aug-2017 18:47:05   

Mathieu777 wrote:

Hello,

How can I validate that the home is properly setup? I though the env system variable was the key : ORACLE_HOME link to the 10.g path as right now.

True, but the env part is that the user specific path part or the global path part? simple_smile If it's in the user specific part, the user which runs the website (the user which runs the asp.net/iisworker process) might see a different env path...

I know this sucks, it's problematic with ODP.NET...

I also want to know how to see wich user is running my web app. I launch it from VS studio 2008 admin mode. Thanks

Ok then you start iisexpress I think, you can see in task explorer in windows which user the process runs at.

I know it's not easy, but perhaps uninstall all ODP.NET versions and re-install 10g ODP.NET?

Frans Bouma | Lead developer LLBLGen Pro
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 30-Aug-2017 21:04:11   

Hello,

the user which runs the website (the user which runs the asp.net/iisworker process) might see a different env path...

I tried connect as the user ASPNET itself but I can't it gives my bad password error. Is there other way for me to see what it's seeing in env path / vars.

Also I will try this guide for a clean uninstall. / re-install

https://docs.oracle.com/cd/B28359_01/install.111/b32007/deinstall.htm#BABHIGFE

thanks

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 31-Aug-2017 09:35:07   

Mathieu777 wrote:

Hello,

the user which runs the website (the user which runs the asp.net/iisworker process) might see a different env path...

I tried connect as the user ASPNET itself but I can't it gives my bad password error. Is there other way for me to see what it's seeing in env path / vars.

Also I will try this guide for a clean uninstall. / re-install

https://docs.oracle.com/cd/B28359_01/install.111/b32007/deinstall.htm#BABHIGFE

thanks

You could use System.Environment in C# to obtain the environment variables in a page in your website and check that in e.g. the debugger or print it on the page?

Frans Bouma | Lead developer LLBLGen Pro
Mathieu777
User
Posts: 7
Joined: 23-Aug-2017
# Posted on: 01-Sep-2017 16:44:42   

Ok it's fixed now.

here's what worked for me:

  1. Full clean uninstall of Oracle components. https://docs.oracle.com/cd/B28359_01/install.111/b32007/deinstall.htm#BABHIGFE

  2. Repair the ASP NET installations.

  3. Re install the Oracle Client 10g + ODP.net + Patches.

Have a nice weekend!

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 01-Sep-2017 17:39:42   

glad it's solved! smile

Frans Bouma | Lead developer LLBLGen Pro