Веб-сайт Asp с vbsript работает по-разному на разных серверах - PullRequest
1 голос
/ 26 ноября 2009

В настоящее время я пытаюсь переместить веб-сайт с одного сервера на другой, одна из страниц asp содержит некоторый vb-скрипт, который выглядит следующим образом:

    Dim oSearch 'AS Object 
    Dim strXML 'AS String 
    Dim strXSL 'AS String
    Dim oRS 'AS ADODB.RecordSet

    Set oSearch = Server.CreateObject("ETHERNET_PL.CETHERNET_PL")
    strXSL = Server.MapPath("EthernetSearch.xsl")
    strXML = oSearch.ServeSearch(strXSL,1,1000,0)

    Set oSearch= Nothing 
    Set oRS=Nothing

    Response.Write strXML

Мои знания об этой технологии очень ограничены, но я могу сказать, что «ETHERNET_PL.CETHERNET_PL» является компонентной службой на обоих серверах, у которой действительно есть метод ServeSearch. Также файл EthernetSearch.xsl существует на обоих серверах. Единственная проблема заключается в том, что на новом сервере я получаю следующую ошибку при попытке посетить страницу:

msxml3.dll ошибка '8000000a'

Данные, необходимые для выполнения этой операции, пока недоступны.

/ EthernetSearch.asp, строка 63

Где строка 63:

strXML = oSearch.ServeSearch(strXSL,1,1000,0)

Кто-нибудь знает, что может заставить эти две страницы по-разному функционировать на двух разных серверах?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 26 ноября 2009

Есть несколько дискуссий на форумах в Интернете, которые предполагают, что эта ошибка может быть связана с тем, что MSXML загружает данные недостаточно быстро (или время ожидания при загрузке данных), что приводит к ошибкам при попытке его использования. например http://forums.devx.com/archive/index.php/t-100302.html

Так как эта ошибка исходит от компонента ETHERNET_PL.CETHERNET_PL, то это проблема с его внутренним использованием MSXML

Вы сказали, что файл XML существует на обоих серверах, но это один и тот же файл, файл на сервере дает ошибку значительно больше, так что время загрузки может быть проблемой?

1 голос
/ 26 ноября 2009

Похоже, что Microsoft XML не находит данные. Проблема может быть во многих областях системы. Я бы начал смотреть на:

  • конфигурационные файлы для приложения ETHERNET_PL.CETHERNET_PL на компьютерах - если оно имеет собственную конфигурацию - сравните их. Это может пролить некоторый свет на то, как он использует MSXML . Если у вас есть доступ к этому компоненту, поиграйте с ним отдельно, чтобы изучить его использование и отладить его самостоятельно, если можете.

Тогда "обычные" проверки как ...

  • файловая система, разрешения NTFS для файла данных XML, на веб-сайте и т. Д.
  • убедитесь, что все установленные версии программного обеспечения одинаковы (IIS, MSXML, ETHERNET_PL, VBScript и любые другие)
  • проверить настройки IIS на разных машинах - например, работает ли веб-приложение на одном сервере в режиме отладки, но не на другом? и т.д.
  • Разрешения реестра Windows для любого из перечисленных программ - если там хранятся какие-либо настройки (реестр Windows имеет собственный набор разрешений ACL на своих узлах). Запустите regedit.exe

Также Google ваше сообщение об ошибке . Фильтрация этих результатов занимает много времени, но вы используете более старую технологию, так что, скорее всего, если кто-то еще столкнулся с проблемой, ответ будет в Интернете или множество предложений, в отличие от перечисленных выше. Очень хороший шанс решить эту проблему.

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

...