I am working on an API in .NET using Net Framework 4.7.2 which is compatible with Oracle.ManagedDataAccess, I already have everything done, controllers, models and the respective classes that run using the controllers in their call.
The problem I have is that when testing in postman I get an error message:
[{“Error”: “1”, “Message”: “An exception occurred in the ‘OracleInternal.Common.ProviderConfig’ type initializer.”}]
This error comes from the exception of:
public static List<MensajeCursor> AccesoUsuario (UserLogin request)
{
List<MensajeCursor> Cursor = new List<MensajeCursor>();
try
{
cmd = new OracleCommand();
cmd.Connection = Conection.getConnection();
cmd.CommandText = "MYQUERY";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("result", OracleDbType.RefCursor).Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add("p_User", OracleDbType.Varchar2).Value = request.User;
cmd.Parameters.Add("p_Pass", OracleDbType.Varchar2).Value = request.Pass;
cmd.Parameters.Add("p_App", OracleDbType.Int32, int.MaxValue).Value = appNumber;
reader = cmd.ExecuteReader();
while (reader.Read())
{
Cursor.Add(new MensajeCursor()
{
Error = reader[0] == DBNull.Value ? "" : reader.GetString(0),
Message = reader[1] == DBNull.Value ? "" : reader.GetString(1)
});
}
reader.Close();
reader.Dispose();
cmd.Dispose();
cmd.Connection.Close();
} catch (Exception ex) {
Cursor.Add(new MensajeCursor()
{
Error = "1",
Message = ex.Message // Returned Error
});
}
return Cursor;
}
Is there any way to know why it happens?
This is my list of packages used (without problems with the version and compatibility):
Packages List Image
This is my web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2" maxRequestLength="102400"/> <!-- 100 MB Aprox -->
</system.web>
<system.webServer>
<handlers>
<!-- <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />-->
</handlers>
<defaultDocument>
<files>
<clear />
<add value="Login.html" />
</files>
</defaultDocument>
<httpErrors errorMode="DetailedLocalOnly" />
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="100000000" /> <!-- 100 MB -->
</requestFiltering>
</security>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<publisherPolicy apply="no" />
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE="Web" /optionInfer+" />
</compilers>
</system.codedom>
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="DB_CONN" connectionString="MY DATA SOURCE"/>
</connectionStrings>
</configuration>
If you need additional info let me know.