Есть большой запрос, который не работает. В исключении написано что {"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;
}
У меня подозрение, что проблема языковой локале.
У вас есть широта и долгота, которые я уверен на 99,9% являются вещественными типами.
На одной машине у вас может быть делителем точка, а на сервере запятая => вы отправляете дробное числе с делителем точкой и сервер не понимает, что с этим делать...
Если не в этом проблема, то диагностировать колонку можно методом научного тыка, начав свой запрос с 1 колонкой и постепенно к нему добавляя новые колонки. Когда запрос упадет, то именно в этой колонке и будет проблема. Откроете DataTable и посмотрите, что там не так.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей