【问题标题】:Classic ASP / SQL Server sites intermittent connectivity经典 ASP/SQL Server 站点间歇性连接
【发布时间】:2012-07-12 11:03:27
【问题描述】:

我们有一个 Windows 2003 服务器,我们最近开始升级一些非常古老的经典 ASP 站点,这些站点使用 MS 访问现在使用 SQL Server 2005。但是这些站点正在随机 SQL Server 超时,这导致所有经典ASP/SQL Server 网站宕机。

虽然这些站点已关闭,但这些站点的关联 CMS(内置在 ASP.NET 中,但连接到同一个 SQL Server 数据库)并没有问题。同一台服务器上的经典 ASP / MS Access 站点也可以,并且可以访问该站点。

似乎让这些网站重新上线的唯一方法是重新启动 IIS 或重新启动各个应用程序池。

windows 日志中没有任何内容,

任何想法可能导致这种情况?

获取更多信息...

站点没有移动服务器,我们只是将数据库从 MS Access 更改为 SQL Server...

我们像这样连接到 SQL Server 数据库...

connStr = "Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=hallgarthmanorUser;Initial Catalog=xxxx;Data Source=xxxx"

那么大部分代码都是这样的……

Set dbMain = Server.CreateObject("ADODB.Connection")
dbMain.Open connStr
Set rsPage = Server.CreateObject("ADODB.Recordset")
rsPage.Open "SELECT * FROM Pages WHERE PageID = " & PageID,dbMain,0,1
....
rsPage.close
set rsPage= nothing

谢谢 kb

【问题讨论】:

  • 您的经典 ASP 代码是否正确关闭并将其所有连接对象、记录集对象等设置为空?
  • 是的,网站非常基础,页面倾向于打开连接、创建记录集、显示数据,然后关闭/设置任何对象

标签: sql-server asp-classic connection


【解决方案1】:

可能是旧网站的代码没有自行清理,例如:https://stackoverflow.com/a/11288637/297808

这在移动服务器之前有效吗?

您是否使用 ODBC 数据源来连接经典 ASP 站点到 MS Access DB?

如果是,属性是否与旧服务器相同?

确保您的服务器上有最新的“Jet”服务包:http://support.microsoft.com/kb/239114

有几件事要尝试...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多