iis 7.5 не поддерживает соединение с сеансами global.asa;Какое изменение конфигурации мне нужно сделать? - PullRequest
0 голосов
/ 09 мая 2011

Какое изменение конфигурации мне нужно сделать? Здравствуйте, недавно обновил свой ноутбук до Windows7, я вытащил наш сайт из Subversion, чтобы сделать некоторые обновления. Я всегда проверяю изменения на localhost, прежде чем перенести их на наш бета-сайт. Теперь я смог настроить IIS на Windows 7 для запуска нашего сайта, но, похоже, работают только нединамические страницы asp. Любая страница, которая пытается подключиться к БД, возвращает сообщение об ошибке.

Поставщик Microsoft OLE DB для ODBC Ошибка драйвера '80040e4d'

[Microsoft] [Собственный клиент SQL] [SQL Сервер] Ошибка входа пользователя 'NT ВЛАСТЬ \ АНОНИМНЫЙ ЛОГОН '.

/ include / chooseyear.inc, строка 15

Вот файл Global.asa

'Добавлена ​​блокировка для запуска сеанса в защитить переменную текущего года от развращается

If isEmpty(Application("CURRENT_YEAR"))

, то Приложение Application.lock ("CURRENT_YEAR") = Год (сейчас ()) Приложение. Разблокировать END ЕСЛИ «Даг Чемберлен» продолжает использовать соединение ODBC для доступа к данным
Session ("DBConnection") = "DSN = WITHHELD; UID = USER_NAME_WITHHELD; PWD = PASSWORD_WITHHELD; DATABASE = master; APP = www"

      Session("ConnectionTimeout") = 120  
      Session("CommandTimeout") = 102         'Doug Chamberlain       '09/10/2010

Обновление:
Вот строка кода, которая терпит неудачу. но работал до обновления до Windows 7 и IIS7.5 PropConnection.Open Session("SCPAASPConnection")

Я выполнил отладку на веб-сайте, когда произошел сбой, и значение этой переменной "DSN=WITHHELD;UID=USER_NAME_WITHHELD;PWD=PASSWORD_WITHHELD;DATABASE=master;APP=www"

но сообщение об ошибке совпадает с приведенным ниже, кажется, что оно просто игнорирует user / pass в переменной строки подключения. Я немного улучшил работу сайта , включив аутентификацию Windows и анонимную аутентификацию. Однако другие вещи ломаются, когда я это делаю. Как и сканер ссылок, который я использую.

1 Ответ

0 голосов
/ 09 мая 2011

Это не имеет ничего общего с ASP, так как все страницы ASP являются динамическими (в том смысле, что они будут проанализированы IIS), из того, что вы говорите (и из сообщения об ошибке), это только те, которые имеют соединение с базой данных в этом сбой.

Это связано с тем, что учетная запись пользователя, под которой запускается процесс пула приложений IIS по умолчанию, не будет иметь доступа к блоку SQL. Вы можете добавить учетную запись SQL для этой учетной записи или, если вы используете ее только на локальном компьютере, просто измените удостоверение пула приложений для запуска в качестве NetworkService.

В IIS выберите пул приложений для сайта, нажмите «Изменить пул приложений»> «Дополнительные параметры» и измените «Модель процесса»> «Идентификация» с ApplicationPoolIdentity на NetworkService.

...