顯示具有 asp 標籤的文章。 顯示所有文章
顯示具有 asp 標籤的文章。 顯示所有文章

2022年12月1日 星期四

classic ASP 執行 Server.CreateObject("Excel.Application") 失敗 ASP 0178 : 80070005



舊ASP程式移至新主機 Windows Server 2019 64bit後,

程式執行Server.CreateObject("Excel.Application")失敗

 

伺服器物件 錯誤 'ASP 0178 : 80070005'

Server.CreateObject 存取錯誤

/1.asp, 行3

檢查使用權限時,呼叫 Server.CreateObject 失敗。拒絕存取此物件。 


爬了網路上討論串都說:

「元件服務」> 「我的電腦」 > 右鍵 > 內容 -> COM安全性 > 設定存取權限

結果我一直在元件服務中 「DCOM設定」找不到 Excel.Application 這個元件,也沒看到Microsoft.Excel相關的元件,最後發現,因為 office是裝 32位元版的,所以要用 啟動 > 執行 mmc -32 

開啟後主控台沒東西,要自已到 「檔案」> 「新增/移除嵌入式管理單元」 中把「元件服務」加進來,然後在「DCOM設定」就可以找到Microsoft Excel 應用程式了。

問題總算解決了...

 



















2021年3月9日 星期二

aspSmartUpload 使用方式及錯誤排除簡記

官網:https://www.aspsmartupload.net/


下載aspsmartupload_v3_3.zip後

註冊 aspSmartUpload.dll

    regsvr32 <檔案路徑>\aspSmartUpload.dll

複製 aspSmartUploadUtil.dll 到系統目錄 system32 


測試可參考官網的sample:


錯誤排除:


*File not found: aspsmartuploadutil.dll

C:\WINDOWS\system32\aspSmartUploadUtil.dll 

確認該檔案是否存在,存在的話,在該檔案 -> 右鍵 ->安全性 中 確認是否有足夠的權限

不知道該用什麼權限的話,可試Everyone的權限,將權限全開。


*要求物件 錯誤 'ASP 0104 : 80004005' 不允許的操作

C:\WINDOWS\system32\inetsrv\MetaBase.xml

將 AspMaxRequestEntityAllowed 調大一點 (自行決定 例: 102400000)

重啟 IIS Server 

若上述方式無效,可能是IIS 重啟後又把設定還原了

可試寫 vb script 如下,存成.vbs檔後執行


set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")

set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")

WScript.Echo "調整前: " & vdirObj.AspMaxRequestEntityAllowed

vdirObj.AspMaxRequestEntityAllowed=102400000

vdirObj.Put_()

WScript.Echo "調整後: " & vdirObj.AspMaxRequestEntityAllowed


參考資料:

aspSmartUpload 的安裝與使用

IIS 上傳檔案大小配置步驟