2009-11-26 123 views
1

目前我正在试图从一个服务器移动到另一个网站,ASP页的一个包含了一些VB脚本,看起来像这样:ASP网站与vbsript功能不同在不同的服务器

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) 

有谁知道什么是造成这两个页面在两个不同的服务器不同的功能?

在此先感谢

+0

什么是在XSL文件containt?例如导入其他XSL或XML文件,它们是否存在? – AnthonyWJones 2009-11-27 11:28:05

回答

1

似乎Microsoft XML找不到数据。问题可能出现在系统的很多领域。我会开始看:

  • ETHERNET_PL.CETHERNET_PL应用程序在机器上的配置文件 - 如果它有自己的配置 - 比较它们。这可能会揭示它如何使用MSXML。如果你有权访问这个组件,可以单独使用它来学习它的用法,如果可以的话,自己调试它。

那么“常规”检查一样......

  • 文件系统,对XML数据文件的NTFS权限,在网站上,等
  • 确保所有已安装的软件版本是相同的(IIS,MSXML,ETHERNET_PL,VBScript及其他)
  • 跨机器检查IIS设置 - 例如是在调试模式下运行的一台服务器上的Web应用程序,但不是其他的?等
  • 对于已列出的任何软件的Windows注册表权限 - 如果存储了任何设置(Windows注册表在其节点上具有自己的一组ACL权限)。 REGEDIT.EXE

而且Google your error message运行。过滤这些结果非常耗时,但如果某人遇到问题,则可能使用较旧的技术,否则答案将在网上或大量建议,与上面列出的不同。很有可能通过这种方式解决问题。

如果需要,请在干净的机器上或虚拟机内重新设置所有内容,然后开始在发生问题的车载机器上回退步骤 - 这很耗时,但可能会导致您查看详细信息否则你不会。

1

围绕网络进行的一些论坛讨论表明,这种错误可能是由于MSXML没有足够快地加载数据(或者在加载数据时超时),当它试图使用时导致错误它例如http://forums.devx.com/archive/index.php/t-100302.html

由于这个错误是从ETHERNET_PL.CETHERNET_PL组件来那么这就是你说的XML文件都存在服务器上,但它同样的文件,它的问题是内部使用MSXML

的,是在一个服务器给出的错误显着更大,加载时间可能会成为问题?

相关问题