2012-03-06 74 views
1

完整的錯誤:服務器對象錯誤ASP 0177:0000005'

The CreateObject of '(null)' caused exception C0000005. 
Server object error 'ASP 0177 : c0000005' 
Server.CreateObject Failed 
/get.asp, line 35 

get.asp - 35行:

Response.Status = "500 Internal Server Error" 
set objErr=Server.GetLastError() 

Col = objErr.Column 
Cat = objErr.Category 
Desc = objErr.Description 
Fle = objErr.File 
Lne = objErr.Line 
Num = objErr.Number 
Src = objErr.Source 
ASPC = objErr.ASPCode 
ASPD = objErr.ASPDescription 

set SQLCOMM = Server.CreateObject("ADODB.Command") //line 35 
SQLCOMM.ActiveConnection = DBConn_Str 
SQLCOMM.CommandText = SQLq 
SQLCOMM.CommandType = 1 
SQLCOMM.CommandTimeout = 0 
SQLCOMM.Prepared = true 
SQLCOMM.Execute() 
set SQLCOMM=Nothing 

這個腳本通常工作,但對於一些奇怪的原因,它不斷給這個錯誤每時每刻都是。我做的最近的事情是在MsSql DB中創建更多的表/列索引,我不確定爲什麼現在正在發生。有人知道爲什麼嗎?

+0

請參閱[此答案](http://stackoverflow.com/a/8550695/825789)。 – bfavaretto 2012-03-07 13:19:00

+0

什麼錯誤首先將您帶到此頁面? – 2012-03-08 07:29:50

+0

@ShadowWizard我不知道,因爲'GetLastError()'沒有拉上來。 – 2012-03-08 17:39:41

回答

1

該錯誤是一個Windows訪問被拒絕的錯誤。但是什麼令人不安的是,它是一個例外 C00000005而非錯誤某處CreateObject之間 80070005和初始化的ADODB.Command拒絕訪問異常被提出是不正常的手段抓到的完成。

在代碼中的這一點,唯一被「訪問」的是ADODB.dll,但它不可能是真正的權限問題。但是,如果您在網站上使用Windows集成安全性,則我很有必要了解發生事件與使用該站點的用戶之間是否存在相互關係。

+0

這實際上是在自定義錯誤「500.100」使用的錯誤捕獲腳本上運行。我剛剛發佈了一些更多的代碼,通常當我得到錯誤,我一次得到幾個實例,所以我得到了同樣的頁面上的多個錯誤..所以這可能是另一個原因,這個錯誤正在發生,它使用'Server.GetLastError()',請參閱'get.asp'上面的修改後的代碼 – 2012-03-07 19:39:33

+0

我有一種感覺,Server.GetLastError()崩潰了,導致腳本的其餘部分以某種方式崩潰,我很困惑.. – 2012-03-07 19:42:00

+0

'objErr'沒有被關閉..一旦我把它設置爲無,錯誤沒有發生,因爲,相同的壓力水平..我是一個白癡;),我給你最好的答案堅持周圍..謝謝安東尼再​​次! – 2012-03-09 06:14:39