2012-01-30 93 views
1

我調試一些老的ASP代碼,並在下面的錯誤無意中發現:Server.Create對象失敗錯誤

Server.CreateObject失敗

這裏是代碼行,我得到了錯誤:

Set Session("SessionBoolian") = Server.CreateObject("DBUtils.SQLExpression") 

DBUtils.SQLExpression位於何處?我似乎無法在代碼中找到它的參考。它是如何設置的?

我的bin文件夾中有一個DBUtils.dll,有沒有辦法在DLL裏面查看是否有SQLEXpression方法?

+0

設X是缺省值hkcr \ DBUtils.SQLExpression \ CLSID(在註冊表中)的GUID,請在hkcr \ clsid \ X \ inprocserver32中查看,您可以看到它使用的dll - 它需要註冊並且iis網站使用的任何帳戶都需要相應的權限 – 2012-01-30 16:00:34

回答

2

DBUtils.SQLExpression很可能是一個ActiveXDLL。您最好的選擇是搜索DBUtils.dll或DBUtils.SQLExpression.dll文件。

如果可用,您可能需要使用regsvr32(即在運行對話框中輸入regsvr32 D:\MyPath\DBUtils.dll)將其註冊到COM服務器,然後按回車鍵。

您可能還想在會話中設置ActiveXObject之前做一些錯誤處理,並確切地看到錯誤。類似這樣的:

Dim sqlExpression 
sqlExpression = Nothing 

On Error Resume Next 
Set sqlExpression = Server.CreateObject("DBUtils.SQLExpression") 

If Err.Number <> 0 then 
    Response.Write "#: " & Err.Number & ", Source: " & Err.Source & ", Description: " & Err.Description 
Else 
    'Rest of your code 
End If 
+0

謝謝,似乎我所要做的只是註冊dll。 – 2012-01-30 16:05:39

0

看起來這是第三方的active-x插件。您發佈的代碼段創建了一個實例,並將其保存到屬性爲「SessionBoolian」的實例中。