0

我有许多用旧的经典 ASP 编写的项目,其中 Global.asa 过去工作得很好。因为我已经安装了带有 IIS7.5 的 Windows 7,所以我的项目都没有工作。

以下是 Global.asa 的代码

<Script language=vbscript runat = server>

Sub Application_OnStart() 

dim objConn, connectionString

set objConn = Server.CreateObject("ADODB.Connection") 

connectionString = "DSN=otsDSN; UID=admin;PWD=;"

objConn.ConnectionTimeout = 5

错误出现在这一行。参考了许多网站,甚至 IIS.Net 但仍然没有运气。

objConn.Open connectionString

Application("otsAppConn") = objConn

end Sub

IIS抛出的错误是

错误 '80004005' /ot/admin/page1.asp,第 33 行和用于承载旧 IIS 系列中的连接对象字符串的应用程序对象现在显示,Provider=MSDASQL.1;而不是完整的连接字符串。

所有项目都列为 IIS7.5 中的应用程序,我可以使用appcmd 列表应用程序看到

感谢是否有人可以提供帮助..

4

2 回答 2

0

查看提供的链接中的信息是否可以帮助您获得更好的调试信息。大约一半时,您可以打开一个设置,当我尝试在 iis 7.5 http://learn.iis.net/page.aspx/564/中运行经典 asp 时,我可以看到错误代码背后的原因经典-asp-script-error-messages-no-longer-shown-in-web-browser-by-default/

于 2011-08-27T16:47:11.497 回答
0

在 IIS 中进行长时间故障排除后,设法解决了该问题。

  1. 将 DSN 连接提供程序转换为 Microsoft Access 驱动程序 ( .mdb) 而不是 Microsoft Access 驱动程序 ( .mdb, *.accdb)

  2. 在自定义下我的网站下的 IIS 中创建连接字符串

    "/commit:MACHINENAME /section:connectionStrings /+"[connectionString='Data Source=localhost;Integrated Security=SSPI;Initial Catalog=otmasterdb;',name='otmasterdb',providerName='Provider=Microsoft.Jet.OLEDB.4.0;']" 
    

    并给出与 DSN 连接相同的连接名称

  3. 将 Global.asa 连接字符串从“DSN=aaa;UID=admin;PWD=;” 仅通过删除后一部分来“aaa”。
    新代码如下所示:

    Sub Application_OnStart()
            dim objConn, connectionString
            set objConn = Server.CreateObject("ADODB.Connection")
            connectionString = "otsDSN"
    
            objConn.ConnectionTimeout = 5
            objConn.Open connectionString
    
            Application("otsAppConn") = objConn
    end Sub
    
于 2011-08-28T09:19:21.677 回答