Windows服务器2012R2经典ASP Microsoft OLE DB提供程序的SQL Server错误'80040e4d'

时间:2015-01-28 05:41:37

标签: sql-server-2005 asp-classic windows-server-2012-r2

我有一个经典的ASP应用程序,它已经在两天前被移动到Windows服务器2012R2然后它在应用程序的某些部分显示连接错误。

用于SQL Server的Microsoft OLE DB提供程序错误' 80040e4d'用户'登录失败。

登录和一些列表功能工作正常,但是当我访问一个结算页面时,它显示上述错误,我们在结算页面中也使用相同的数据库连接。

以下是使用的连接字符串

Dim datasource,cnnCompanyDbase
Set cnnCompanyDbase=Server.CreateObject("ADODB.Connection")
cnnCompanyDbase.Open "Provider=SQLOLEDB;Initial Catalog=CompanyDatabase;Data Source=192.168.0.20;User Id=sa; Password=satest;"

以前,应用程序在Windows Server 2003上运行正常。

修改 详细介绍了代码之后,我发现使用DB命令对象打开记录集时会略有不同。

以下是两个场景

工作条件

qryStaff="SELECT * FROM [Staff]"

Set rstStaff=Server.CreateObject("ADODB.Recordset")
rstStaff.CursorType = adOpenStatic
rstStaff.Open qryStaff,cnnCompanyDbase

错误状况

qryJobClients = "SELECT Client FROM Jobs WHERE Jobs.[Job-billing]=3"
Set rstJobClients=Server.CreateObject("ADODB.Recordset")
rstJobClients.CursorType = adOpenStatic 
rstJobClients.Open qryJobClients,getDBConnect()

在上面的例子中,方法getDBConnect()返回cnnCompanyDbase。我打印了两个并获得了确切的值,只有一个是来自方法,另一个是直接给出DB命令。

0 个答案:

没有答案
相关问题