Как найти ошибку в запросе?

172
02 сентября 2021, 13:50

Есть большой запрос, который не работает. В исключении написано что {"ORA-00911: неверный символ"}. Я хочу сконвертировать этот запрос в обычный pl/sql-запрос, и в профилировщике посмотреть в чем у меня косяк. Подскажите как сделать

using (OracleCommand cmd = new OracleCommand(command, conn))
try
{
    cmd.Parameters.Add(new OracleParameter("DATA",  t[0]));
    cmd.Parameters.Add(new OracleParameter("KOLZNACH",  t[1]));
    cmd.Parameters.Add(new OracleParameter("DATAGPS",  t[2]));
    cmd.Parameters.Add(new OracleParameter("SHIROTA",  t[3]));
    cmd.Parameters.Add(new OracleParameter("DOLGOTA",  t[4]));
    cmd.Parameters.Add(new OracleParameter("SKOROST",  t[5]));
    cmd.Parameters.Add(new OracleParameter("OBOROTIGD1", t[7]));
    cmd.Parameters.Add(new OracleParameter("RASHODGD1",  t[9]));
    cmd.Parameters.Add(new OracleParameter("OBOROTIGD2", t[11]));
    cmd.Parameters.Add(new OracleParameter("RASHODGD2",  t[13]));
    cmd.Parameters.Add(new OracleParameter("RASHODDG1", t[15]));
    cmd.Parameters.Add(new OracleParameter("RASHODDG2", t[17]));
    cmd.Parameters.Add(new OracleParameter("SUDNO", "0"));
    var xz = cmd.ExecuteNonQuery();
}
catch (OracleException ex)
{
    var zz = ex.Message;
}
Answer 1

У меня подозрение, что проблема языковой локале.

У вас есть широта и долгота, которые я уверен на 99,9% являются вещественными типами.

На одной машине у вас может быть делителем точка, а на сервере запятая => вы отправляете дробное числе с делителем точкой и сервер не понимает, что с этим делать...

Если не в этом проблема, то диагностировать колонку можно методом научного тыка, начав свой запрос с 1 колонкой и постепенно к нему добавляя новые колонки. Когда запрос упадет, то именно в этой колонке и будет проблема. Откроете DataTable и посмотрите, что там не так.

READ ALSO
Как в основной форме Отменить backgroundWorker другой формы

Как в основной форме Отменить backgroundWorker другой формы

РебятаМне нужно отменить BakgroundWorker из основной формы, которая была запущена в другой форме

307
Какой смысл от использования объектов в качестве ключа?

Какой смысл от использования объектов в качестве ключа?

Открыл исходник одного из компонента WinForms и увидел это:

164
исключить значение

исключить значение

в столбце "отправитель" и "получатель" встречаются одинаковые фамилии (когда перевод осуществляется родственникуНапример:

169
woocommerce liqpay Запрос не отрабатывает

woocommerce liqpay Запрос не отрабатывает

После нажатия на кнопку, происходит редирект на страницу "Заказ принят", а не на liqpay

88