Из проекта webApi2 я добавляю строки в Oracle Db.При тестировании этого метода на моей машине для разработки все идет хорошо и создается новая запись.Развернув его на сервере и протестировав там, я заметил, что запись не добавлена, и я получаю сообщение о том, что "произошла ошибка" ..
[HttpPost]
[Route("CreateTpmEntry")]
[ResponseType(typeof(Process))]
public IHttpActionResult CreateTpmEntry(Process p)
{
string ConStr = ConfigurationManager.ConnectionStrings["OracleConnectionString"].ConnectionString;
var Con = new Oracle.ManagedDataAccess.Client.OracleConnection(ConStr);
if (Con.State == System.Data.ConnectionState.Closed)
{
Con.Open();
}
string iStr = @"INSERT INTO ifc.qmes_tpm_repairs_imp (order_nr, manager_nr, start_date, closemean_nr, end_date, initial_diagnosis, repair_actions, STATUS)
VALUES ('{0}', '{1}', TO_DATE('{2}', 'YYYY-MM-DD HH24:MI:SS', 'NLS_DATE_LANGUAGE = POLISH'), '{3}', TO_DATE('{4}', 'YYYY-MM-DD HH24:MI:SS', 'NLS_DATE_LANGUAGE = POLISH'), '{5}', '{6}' ,'{7}')";
iStr = string.Format(iStr, p.Number, p.Manager, p.StartDate, p.FinishedBy, p.EndDate, p.InitialDiagnosis, p.RepairActions, p.Status);
var Command = new Oracle.ManagedDataAccess.Client.OracleCommand(iStr, Con);
Command.ExecuteNonQuery();
return Ok();
}
Я проверил это больше и обнаружил, что всеидет хорошо, когда я беру end_date и start_date из iStr, поэтому проблема должна быть связана с форматом даты.Я думал, что функция TO_DATE заботится о том, чтобы дата была в соответствующем формате, но, видимо, этого недостаточно.Вот примерный iStr:
INSERT INTO ifc.qmes_tpm_repairs_imp (order_nr, manager_nr, start_date, closemean_nr, end_date, initial_diagnosis, repair_actions, STATUS)
VALUES ('A/2018/152170', 'MSMITH', TO_DATE('2018-10-08 14:48:13', 'YYYY-MM-DD HH24:MI:SS', 'NLS_DATE_LANGUAGE = POLISH'), 'MSMITH', TO_DATE('2018-10-08 14:54:13', 'YYYY-MM-DD HH24:MI:SS', 'NLS_DATE_LANGUAGE = POLISH'), 'Machine not working', 'Call service for control panel' ,'AC')
Я проверил таблицы NLS_DATABASE_PARAMETERS как на компьютере разработчика, так и на компьютере развертывания, но все параметры выглядят одинаково ..