RuntimeConfiguration.ConfigureDQE<> Issue

Posts   
 
    
msippitt
User
Posts: 2
Joined: 17-Dec-2025
# Posted on: 17-Dec-2025 08:52:52   

In Visual Studio C# I have added the following code to register the Oracle DB Provider:

RuntimeConfiguration.ConfigureDQE<OracleDQEConfiguration>(c =>c.AddDBProviderFactory(typeof(OracleClientFactory)));

However, it fails with the error No DbProviderFactory has been configured for this DQE. You have to use the DQE configuration system to register....

I am confused as I thought the RuntimeConfiguration command adds the Factory. Can you tell me what I am missing. I have checked all the references and Namespaces.

Looking at the Inner Exception states :

Method System.Reflection.MemberInfo.get_CustomAttributes cannot be called in this context

Many thanks

Otis avatar
Otis
LLBLGen Pro Team
Posts: 40015
Joined: 17-Aug-2003
# Posted on: 17-Dec-2025 16:12:24   

Oracle has a couple of ADO.NET providers. the one that ships with .NET, the MS Oracle client is deprecated and you shouldn't use that one.

Then we have ODP.NET and that comes in 2 flavors: the managed provider and the non-managed provider. The managed provider is the one you pull from nuget and the one you should be using, and the non-managed provider is the one that uses the big client and is installed with ODAC. If you can't use the managed provider, you can use that one, but it's not supported on .net core.

the factory for the managed provider is called Oracle.ManagedDataAccess.Client.OracleClientFactory and you should provide that type.

You didn't provide any other info so I have to assume it's one of the things above.

Frans Bouma | Lead developer LLBLGen Pro
msippitt
User
Posts: 2
Joined: 17-Dec-2025
# Posted on: 18-Dec-2025 12:07:14   

Thank you for your response.

I am using the Oracle.ManagedDataAccess.Client.OracleClientFactory and have managed to get it working apart from no Sequences are being generated when inserting a record. I am using an Oracle 19c Database. The code worked fine when using Version 5.0 but since moving to 5.12 they are not being generated. I can see in the PersistenceInfoProvider.cs that for instance our Audit Table the PK (AUD_ID) has FENAS.AUD.PK.SEQ which is the correct sequence name.

Do I have to set a DQECompatibility Value or is there something new that I have to set in 5.12 which was not required in 5.0?

Many Thanks in advance

Otis avatar
Otis
LLBLGen Pro Team
Posts: 40015
Joined: 17-Aug-2003
# Posted on: 19-Dec-2025 10:41:43   

msippitt wrote:

Thank you for your response.

I am using the Oracle.ManagedDataAccess.Client.OracleClientFactory and have managed to get it working apart from no Sequences are being generated when inserting a record. I am using an Oracle 19c Database. The code worked fine when using Version 5.0 but since moving to 5.12 they are not being generated. I can see in the PersistenceInfoProvider.cs that for instance our Audit Table the PK (AUD_ID) has FENAS.AUD.PK.SEQ which is the correct sequence name.

Do I have to set a DQECompatibility Value or is there something new that I have to set in 5.12 which was not required in 5.0?

Many Thanks in advance

I think in 5.0 (which is many years old so I don't know for sure) we didn't have support for 'identity' fields for oracle, always required sequences. in v5.12 this is supported and identity fields are basically fields which let the DB manage the sequence. (and therefore don't issue a sequence call). If your field in the meta data is marked as 'identity' (open 'details' in the catalog explorer on the fields node of the table) then the generated code will have the field marked as identity as well and thus won't issue a sequence call. Identity field sequences have $$ in their name, and the sequence you associated in the mapping seems it doesn't so it's a little odd indeed.

Also check if you haven't enabled trigger based sequences https://www.llblgen.com/Documentation/5.13/LLBLGen%20Pro%20RTF/Using%20the%20generated%20code/gencode_applicationconfiguration.htm#trigger-based-sequence-values-oraclefirebird This is a feature for schemas which use triggers for sequence value providing and therefore on inserts the sequence is ignored as well (it only reads the CURRVAL back, not sets the NEWVAL)

Frans Bouma | Lead developer LLBLGen Pro