Проблема с записью в базу данных SQL Server 2005 из приложения MVC2, размещенного на IIS6

#sql-server-2005 #asp.net-mvc-2 #iis-6

#sql-server-2005 #asp.net-mvc-2 #iis-6

Вопрос:

Как следует из названия, у меня есть приложение MVC 2, запущенное на сервере 2003. Итак, у меня есть IIS6 и экземпляр SQL Server 2005 на другом компьютере, к которому я подключаюсь.

Вот суть:
— Я использовал подстановочный знак, чтобы заставить маршрутизацию MVC работать и сайт загружался правильно.
— Я могу считывать информацию из базы данных, и все отображается нормально. (Итак, MVC работает)
— Я использую Linq to SQL.
— При попытке обновить данные в базе данных я получаю внутреннюю ошибку сервера.
— Веб-сайт работает правильно и будет считывать и сохранять информацию в том же экземпляре SQL Server при запуске из Casinni или IIS Express на моей машине разработки.

Некоторая другая, возможно, полезная информация: Я использую встроенную аутентификацию Windows (веб-сайт правильно видит меня как пользователя), пул приложений в IIS запущен как пользователь, который имеет доступ как для чтения, так и для записи к базе данных. В настоящее время у меня также отключена анонимная аутентификация, но ее включение не вызвало никаких изменений.

Любые идеи были бы действительно оценены. Я чувствую, что это что-то действительно простое, чего мне просто не хватает.

Ответ №1:

Итак, после долгих часов разговора по телефону с технической поддержкой MS, вот ответ:

Итак, если у вас есть база данных, которая содержит две таблицы, обе с автоматическими целочисленными первичными ключами, и существует связь между уникальным полем char в одной и неуникальным полем char в другой, вставка новых строк во вторую таблицу приводит к недопустимому исключению. case. Это исключение не возникает при вызове базы данных из Cassini, IIS7.5 Express или IIS 7.5, но возникает из IIS.6.0.

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