As we can not see your code, we have no idea why it behaves this way. I’d assume you have some init code that needs to run on a schema change.
A weired error about HTTP 500 !
I created a web user asp.net 8.0 mvc without ef.
When I modify the stucture of oracle datebase table ,such as add a field ,then the web related to the table report a error about HTTP 500 . But after I restart the iis,it works well without doing anything else!
3 answers
Sort by: Most helpful
-
-
Alick Wang 306 Reputation points
2024-04-11T08:51:09.7866667+00:00 .net 8.0 with Dependency Injection
In Program.cs
builder.Services.AddScoped<DAL.Account.IAccount,DAL.Account.Account>();
In Account.cs
public class Account : IAccount
{
private readonly IOptions<DAL._DBConnStr> _dbconnStr;
public Account(IOptions<DAL._DBConnStr> dbconnStr)
{
_dbconnStr = dbconnStr;
}
public DataTable GetRoles()
{
using (OracleConnection conn = new OracleConnection(_dbconnStr.Value.myConnectionString))
{
DataTable dt = new DataTable();
OracleCommand selectCmd = new OracleCommand("select * from roles order by sortindex", conn);
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = selectCmd;
da.Fill(dt);
return dt;
}
}
In AccountController
IAccount AccountDA;
public AccountController(IAccount accountDA)
{
AccountDA = accountDA;
}
public IActionResult Login(string ua)
{
DataTable dt = AccountDA.GetUserAccountByUser(ua);
}
-
Alick Wang 306 Reputation points
2024-05-17T13:56:46.7766667+00:00 to:MotoX80
In the windows logs->applications
---> Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00942:
at OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, Int64 internalInitialJSONFS, OracleException& exceptionForArrayBindDML, OracleConnection connection, IEnumerable`1 adrianParsedStmt, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)