Выполнение классического приложения ASP на 32-разрядной Windows 7 с IIS 7.5 - PullRequest
1 голос
/ 28 декабря 2011

Я недавно обновил свой компьютер с XP до Windows Seven.Я использовал IIS 6.0, но теперь я использую IIS 7.5.Когда я работал на своем компьютере с XP, я мог запускать и просматривать мои страницы Classic ASP .Я работаю, имея возможность запустить страницу Classic ASP с моего локального диска.Я использую SQL Server 2005. Я установил IIS 7.5 с пулом приложений с .NET Framework версии 2.0.Когда я пытаюсь запустить страницу, я получаю сообщение об ошибке: « Поставщик Microsoft OLE DB для драйверов драйверов ODBC '80004005' [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию ".Мой код выглядит так:

randomConnection = "Provider=SQLOLEDB;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;"
Set someRS = Server.CreateObject("ADODB.RecordSet")
mySQLStatement = "SELECT DISTINCT CarInfo.CarMake, CarInfo.CarColor FROM CarInfo"
someRS.Open mySQLStatement, randomConnection

Код ошибки в последней строке.Мой код имеет гораздо больше, чем после всего этого.Весь код работал нормально с IIS 6.0.Единственные изменения - я переключился на 32-битную Windows Seven и IIS 7.5.Есть ли что-то особенное, что нужно, так как у меня IIS 7.5?Я создал тестовые страницы ASP в корневом каталоге без какой-либо логики базы данных, и страница отрисовалась просто отлично.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Если вы меняете способ подключения к серверу, он работает или выдает другую ошибку? Я получаю разные ошибки между использованием вашей версии выше и версией, которую мы используем (ошибка, которую я получаю с нижеприведенной информацией, связана с тем, что у меня нет экземпляра с именем server \ instance):

Set someRS = Server.CreateObject ("ADODB.Command")
someRS.ActiveConnection = "Provider=SQLOLEDB;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;"
someRS.CommandText = "SELECT DISTINCT CarInfo.CarMake, CarInfo.CarColor FROM CarInfo" 
someRS.Prepared = true

Set someRSResults = someRS.Execute

Кроме того, мы используем SQLOLEDB, который работал с SQL Server 2000, 2005 и 2008. Возможно, нам нужно обновить его до более позднего, но он должен работать.

0 голосов
/ 28 декабря 2011

Строка подключения использует неверный поставщик - SQLOLEDB - поставщик данных для SQL Server 2000 или SQL Server 7 .Вы должны использовать SQLNCLI (или SQLNCLI10 ) в соответствии с строками подключения к SQL Server 2005 .

Попробуйте это ...

Provider=SQLNCLI;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;

Вы также пытаетесь открыть соединение, используя mySQLStatement в качестве строки соединения.Вам необходимо вернуться к документации по , как подключить и запрос данных от ADODB.

...