2016-11-22 155 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