我们有一个我们试图复兴的应用程序,它是在2010年用经典ASP编写的。到目前为止,我已经完成了以下工作:
http://localhost
上成功运行了应用程序我收到以下错误:
2018-01-21 01:36:16 ::1 POST /intranet/process.asp |178|80004005|[Microsoft][ODBC_SQL_Server_Driver][DBNETLIB]SQL_Server_does_not_exist_or_access_denied. 80 - ::1
我注意到在代码中有一个文件,它有一个数据库连接的Session配置看起来不一样。
我不知道此时该做什么。我们需要弄清楚如何将这个数据库连接到应用程序
下面是根目录中的web.config.xml:
<configuration>
<appSettings />
<connectionStrings>
<add connectionString="Server=server\SQLEXPRESS;Database=dbname;User ID=dbuser;Password=dbpass" name="SqlServer" />
</connectionStrings>
</configuration>
这是我在Intranet文件夹中的web.config.xml,用于管理区域:
<add name="WEB"
connectionString="Server=server\SQLEXPRESS;Database=dbname;User ID=dbuser;Password=dbpass"
providerName="System.Data.SqlClient" />
我发现文件global.asa
有这个:
Sub Session_OnStart
Session("ConnectString") = "Server=adifferentserver;Database=adifferentdatabase;UID=adifferentuser;PWD=adifferentpassword;Driver={SQL Server};"
这是我第一次使用ASP,所以你必须引导我找到你需要的其他文件。
答案 0 :(得分:1)
Classic ASP中的global.asa
文件充当初始化脚本,通常可以设置长期运行的变量,例如Application
和Session
变量。
如果此文件包含连接字符串变量,那么这是要更改为已迁移数据库的值。目前process.asp
正在使用Session("ConnectString")
,ADODB正在尝试使用SQL Server提供程序找到adifferentserver
并失败。使用所需的提供程序和服务器更正连接字符串后,页面应该可以正常工作。
其他两个值来自于{7.0}及以上版本引入的web.config
,它是专为Microsoft .Net设计的,而Classic ASP不知道其中配置的连接字符串。可能是有另一个使用ASP.Net的Web应用程序正在使用这些连接字符串。