I am updating the project from EntLib 4.1 to EntLib 5. I have looked at the Migration Guide, changed all the links and updated all the configuration files to point to EntLib 5. Everything worked fine, accepting access to the Oracle database. With configuration file:
<configuration> <configSections> <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> </configSections> <dataConfiguration defaultDatabase="prod"> <providerMappings> <add databaseType="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, Microsoft.Practices.EnterpriseLibrary.Data" name="Oracle.DataAccess.Client" /> </providerMappings> </dataConfiguration> <connectionStrings> <add name="prod" connectionString="Data Source=dev;User Id=dev;Password=dev;" providerName="Oracle.DataAccess.Client" /> </connectionStrings> </configuration>
which worked with 4.1, all calls to DatabaseFactory.CreateDatabase() fail with:
System.InvalidOperationException: The type Database cannot be constructed. You must configure the container to supply this value.
If I replaced Oracle.DataAccess.Client with Microsoft System.Data.Oracleclient , it all works again, but not full of wonderful ODP.net. Does anyone know how to make this work with EntLib 5?
Cheers, MLK
source share