2016-11-22 141 views
1

请参阅从ASP经典执行SQL Server存储过程时遇到的SQL Server错误消息。在ASP经典中执行SQL存储过程的SQL Server错误[Microsoft] [SQL Server Native Client 11.0] [SQL Server]错误

我正在使用两个会话变量作为存储过程的参数。

我对此没有任何问题,直到最近我开始出现以下错误,生产和测试服务器之间的错误不同。

为什么会将Session变量追加到错误描述中,这是什么意思?

请参阅下面的代码和错误。

Dim strStudentID 
Dim transactionId 
strStudentID = Session("ix_National_ID") 
transactionId = Session("transactionId") 

Session("accesslevel") = "" 
session("SessionStatus") = "5" 

Set cmd = server.createobject("ADODB.command") 
With cmd 
.ActiveConnection = con 
.CommandType = adCmdStoredProc 
.CommandText = "Temple_sp_Application_Insert" 
.Parameters.Append cmd.CreateParameter("@TUID ", adVarchar, adParamInput, 200, strStudentID) 
.Parameters.Append cmd.CreateParameter("@transactionId ", adVarchar,  adParamInput, 200, transactionId) 
.Execute 

if Err.Number <> 0 then 
    Response.Write "An Error Has Occurred on this page!<BR>" 
    Response.Write "The Error Number is: " & Err.number & "<BR>" 
    Response.Write "The Description given is: " & Err.Description & "<BR>" 
end if 

End With 
Set cmd = Nothing 
Set Con = Nothing 

con.Close 

我收到以下错误,请注意存在错误描述末尾的会话变量(strStudentID)。

这个错误我得到的生产服务器上

错误号:-2147217911
给出的描述是:[微软] [SQL Server本机客户端11.0] [SQL服务器] 915111111

此错误位于非生产服务器上。

错误号:-2147217911
给出的描述是:[微软] [ODBC SQL Server驱动程序] [SQL服务器] 915111111

+0

@marc_s我使用的代码块的格式,因为它是从脚本输出,否则会使用块引用。 – Lankymart

+0

相关[A:在经典ASP中执行SQL存储过程](http://stackoverflow.com/a/39905617/692942)。 – Lankymart

回答

2

深受错误

评审错误代码是指-2147217911这是;

[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]在对象'Table_Name',数据库'Database_Name',所有者'dbo'上拒绝SELECT权限。

在Microsoft支持网站上有一些更多的细节;

Microsoft Support - KB963994
用户的数据库登录名没有被授予数据库的db_datareader角色。

所以你需要GRANT允许您使用调用存储过程或它里面的一个表,无论哪种方式,我们需要更多的信息登录。无论出于何种原因,你的描述都是毫无意义的。


Based on feedback

我不知道为什么会话值附加到完成了一半错误输出,也许是别的东西被添加到该存储过程的输出?例如,可能是流氓PRINT陈述。

理想情况下,我们需要查看存储过程定义来排除这一点。

+0

我用来调用存储过程的登录名具有所有适当的权限。存储过程使用的表也被许可。无论如何,为什么会话变量在错误描述的末尾? [微软] [SQL Server Native Client 11.0] [SQL Server] 915111111 – Olesya

+0

我只是想在这里解释,所有的权限设置正确,代码执行没有问题。突然之间,我现在开始出现这个错误。 – Olesya

+0

@Olesya错误代码是“-2147217911”,因此就ADODB而言,即使您认为不存在权限问题,SQL Server也会在某处报告权限问题。 – Lankymart