end-of-file on communication channel
есть сервис который запускаеться каждый день с помошью QuartZ, но например стартанул сервис сегодня все идет хорошо, все работает, но на следуший день выдает такую ошибку:
end-of-file on communication channel Process ID: 9978 Session ID: 1183 Serial number: 50314
вроде все написано хорошо, все написано в using, почему может вывести такую ошибку? использую базу Oracle
и logger показывает где произашло ошибка:
PigRep.cs:line 86
public async Task InsertNotification(DateTime date, int statusId)
{
using (OracleConnection conn = new OracleConnection(ConnectionStringConfiguration.Oracle_LBANK))
{
using (OracleCommand cmd = new OracleCommand("ASW.NOTIFICATION", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
await cmd.Connection.OpenAsync();
cmd.Parameters.Add(new OracleParameter("DATE", OracleDbType.Date) { Value = date });
cmd.Parameters.Add(new OracleParameter("STATUS_ID", OracleDbType.Decimal) { Value = statusId });
await cmd.ExecuteNonQueryAsync(); //line 86
}
}
PigSer.cs:line 138
public async Task InsertNotification(DateTime date, int statusId)
{
await _pig.InsertNotification(date.Date, statusId); //line 138
}
PigJob.cs:line 32"
internal class SmsSenderJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
ILogger _logger = (ILogger)context.JobDetail.JobDataMap.Get("logger");
IServiceProvider _provider = (IServiceProvider)context.JobDetail.JobDataMap.Get("provider");
_logger.LogInformation("Job Executing Started");
using (IServiceScope _scope = _provider.CreateScope())
{
PigSer pig = _scope.ServiceProvider.GetRequiredService<IPigSer>();
try
{
//insert log when process starts
DateTime now = DateTime.Now;
await pigg.InsertNotification(now, (int)SmsNotification.StartTheProcess);
DateTime workingDay = await pigg.GetWorkingDay(now); //line 32
}
}
}
вот полная ошибка: "Oracle.DataAccess.Client.OracleException (0x80004005): ORA-03113: end-of-file on communication channel\nProcess ID: 28370\nSession ID: 409 Serial number: 64698\r\n at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable, OracleLogicalTransaction m_OracleLogicalTransaction)\r\n at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck, OracleLogicalTransaction m_OracleLogicalTransaction)\r\n at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()\r\n at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at PigJob.Worker.Repositories.PigRep.d__2.MoveNext() in D:\Jenkins\workspace\Test\Test-01\Windows-Services\LB.PigJob\Build\PigJob.Worker\Repositories\PigRep.cs:line 86\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at PigJob.Worker.Services.PigSer.d__12.MoveNext() in D:\Jenkins\workspace\Test\Test-01\Windows-Services\LB.PigJob\Build\PigJob.Worker\Services\PigSer.cs:line 138\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at PigJob.Worker.Job.SmsSenderJob.d__0.MoveNext() in D:\Jenkins\workspace\Test\Test-01\Windows-Services\LB.PigJob\Build\PigJob.Worker\Job\SmsSenderJob.cs:line 32", "cst": "PigJob.Worker.Job.SmsSenderJob.Execute, line 32.",