Я пытаюсь перенести имеющееся у нас устаревшее приложение на Windows Server 2008 x64 и IIS7. Он написан на классическом ASP и подключается к базе данных SQL Server 2005.
Однако при запуске страницы я получаю сообщение об ошибке:
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Строка подключения, которую я использую: Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME;
Я не вижу причин для использования анонимного входа в систему, так как когда он работал на моем 32-разрядном сервере Win2k3, он обращался к SQL Server с помощью DOMAINNAME \ SERVERNAME $.
У меня следующие настройки.
SQL Server 2005 - работает в смешанном режиме. Пул приложений IIS7 - разрешить 32-разрядным приложениям установить значение True.
Я также добавил сервер в качестве пользователя SQL Server.
Я пробовал кое-что сейчас, и у меня заканчиваются идеи.
Я думаю, вы используете неправильный драйвер базы данных для своего соединения odbc. MS SQL 2005 использует собственный клиент SQL.
Драйвер = Собственный клиент SQL; UID = имя пользователя; PWD = пароль; Сервер = ИМЯ СЕРВЕРА; Исходный каталог = DBNAME;
Вы можете скачать установку здесь: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=df0ba5aa-b4bd-4705-aa0a-b477ba72a9cb
Я считаю, что вам нужно добавить атрибут в строку подключения, который позволит учетной записи пула приложений в IIS7 аутентифицироваться на SQL Server. Увидеть ниже:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
Часть Trusted_Connection позволит IIS подключаться с использованием учетных данных учетной записи пула приложений. Если он работает под учетной записью компьютера, как вы сказали, то имя входа, созданное на SQL Server, будет работать.