簡體   English   中英

SQL Server在ASP經典版[Microsoft]中執行SQL存儲過程時出錯[SQL Server Native Client 11.0] [SQL Server]錯誤

[英]SQL Server Error executing SQL stored procedure in ASP classic [Microsoft][SQL Server Native Client 11.0][SQL Server] Error

從ASP classic執行SQL Server存儲過程時,請參閱我收到的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

我收到以下錯誤,請注意在錯誤說明的末尾有Session變量(strStudentID)。

我在生產服務器上遇到此錯誤

錯誤號是:-2147217911
給出的描述是:[Microsoft] [SQL Server Native Client 11.0] [SQL Server] 915111111

此錯誤在非生產服務器上。

錯誤號是:-2147217911
給出的說明是:[Microsoft] [ODBC SQL Server驅動程序] [SQL Server] 915111111

根據錯誤判斷

錯誤代碼是指-2147217911,即;

[Microsoft] [ODBC SQL Server驅動程序] [SQL Server]對對象“表名稱”,數據庫“數據庫名稱”,所有者“ dbo”的選擇權限被拒絕。

在Microsoft支持站點上,有更多詳細信息;

來自Microsoft支持-KB963994
用戶的數據庫登錄名尚未被授予數據庫的db_datareader角色。

所以,你需要GRANT允許您使用調用存儲過程或它里面的一個表,無論哪種方式,我們需要更多的信息登錄。 無論出於何種原因,您返回的描述都毫無意義。


根據反饋

我不知道為什么將Session值附加到半完成的錯誤輸出中,也許其他內容正在添加到存儲過程的輸出中? 例如,可能是流氓PRINT語句。

理想情況下,我們需要查看“存儲過程”定義才能將其排除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM