- Home
- LLBLGen Pro
- Bugs & Issues
Oracle 10g [OracleException (0x80004005)
Joined: 23-Aug-2017
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(IQueryable
1 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
-
What is the entry of Oracle in your x64's machine.config for .net2? (ref: https://stackoverflow.com/questions/2325473/where-is-machine-config )
-
Do this similar thread helps? http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=19259
Joined: 23-Aug-2017
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" />
...
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.
Joined: 23-Aug-2017
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?
Joined: 23-Aug-2017
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=""/>
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.
Joined: 23-Aug-2017
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
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? 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?
Joined: 23-Aug-2017
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
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?
Joined: 23-Aug-2017
Ok it's fixed now.
here's what worked for me:
-
Full clean uninstall of Oracle components. https://docs.oracle.com/cd/B28359_01/install.111/b32007/deinstall.htm#BABHIGFE
-
Repair the ASP NET installations.
-
Re install the Oracle Client 10g + ODP.net + Patches.
Have a nice weekend!