2013-11-25 2 views
0

Я смотрю сайт, на котором есть раздел новостей/блога. Как обычно, администратор может создавать/редактировать статьи. Он работает отлично в течение многих лет, но внезапно на прошлой неделе я получил сообщение об ошибке «Строка ввода не была в правильном формате». при создании/редактировании статей. И я также получаю сообщение об ошибке уведомления из системы, как показано ниже;Ошибка ввода формата данных

Сообщение: Ошибка преобразования типа данных varchar в datetime.

На странице ввода есть поля даты, но я использую тот же формат, который я использовал, и ничего не изменилось с момента последнего создания/редактирования статей. Те же файлы и код на сервере. Внезапно началось не позволять мне создавать/редактировать что-либо. Даже это не позволит мне сохранять статьи, не изменяя ничего из этой статьи.

Работает на ASP.Net (C#), MS SQL Server и IIS. Поскольку ничего не изменилось, я понятия не имею, с чего начать, но может ли это произойти? И что будет причиной?


Я не знаю, какие именно настройки культуры были в Windows Server, но я не вижу никаких неправильных настроек. Текущий правильный регион, дата и время. Никто не обращался к серверу между датами, когда что-то пошло не так. SQL-сервер использует разные настройки из серверных, но это было так.

На веб-сайте есть разделы, а раздел новостей/блога получает сообщение об ошибке, но в другом разделе, который также использует даты, не возникает ошибка. Очевидно, что эти разные разделы используют разные файлы. Поэтому я думаю, что настройки сервера/SQL в порядке. Но, как я уже упоминал, файлы не изменились вообще.

Любые другие возможности ??? Спасибо за вашу помощь.

+2

Трудно сказать без кода. – deathismyfriend

+0

Поскольку код не был изменен, и он работает отлично в течение многих лет, я не думаю, что с кодом что-то не так. На этом этапе я подозреваю другие возможности. благодаря – rubb3rfunk

ответ

1

Постарайтесь проверить, изменились ли какие-либо настройки культуры на сервере (на котором запущен ваш MS SQL Server). Панель управления, регион и язык.

Анализ DateTime может зависеть от этих настроек, если он использует текущую культуру на машине.

Успение 1: Приложение asp.net может быть ненужным конвертировать DateTime.ToString() при создании команды sql insert/update.

Успение 2: Он получает строку как есть и использует язык и формат входа в систему для сеанса (см. SET LANGUAGE/SET FORMAT в SQL). Проверьте, изменился ли язык/формат по умолчанию в вашем sql.

Смежные вопросы