C # - ODP.NET и ora-01475 должны повторно обработать курсор, чтобы изменить тип данных переменной связывания - PullRequest
0 голосов
/ 11 ноября 2008

Я получаю ora-01475 всякий раз, когда я пытаюсь вставить нулевое значение в столбец (типа DateTime) после того, как некоторые записи уже были вставлены, которые имеют реальные значения даты.

Я использую конструктор OracleParameter, который принимает имя и значение в качестве объекта (я предполагаю, что тип данных подразумевается из типа данных объекта), но иногда значение моего параметра равно нулю, он устанавливается как String, поэтому выбрасывает эту ошибку.

Я не хочу использовать конструктор, который явно принимает тип данных, потому что я интенсивно использую отражение для построения объекта OracleCommand и его параметров.

Как я могу повторно обработать курсор (как подсказывает ошибка), если я найду эту ситуацию?
Кто-нибудь еще сталкивался с этим и есть решение?

1 Ответ

1 голос
/ 28 января 2009

Вы пытались использовать обнуляемые типы?

            DateTime? myDate;
            //Code to set myDate value...
            string sql = "[your SQL]"
            using (OracleCommand command = new SqlCommand(sql, cn))
            {
                OracleParameter param = new OracleParameter(":Name",myDate);
                command.Paerameters.add(param);
                command.ExecuteNonQuery();
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...