2009-12-03 13 views
0

我剛剛重新安裝了服務器,它是一臺新機器,相同的操作系統版本(Win2008)和相同的IIS版本(7.0)。該應用程序工作完美(然後機器爆炸)。IIS7上的經典ASP:ADODB.Stream錯誤文件無法打開 - 訪問webroot外部

,當我嘗試訪問根目錄之外的文件,我得到這個錯誤:

ADODB.Stream錯誤「800a0bba」文件無法打開

我可以用細FileSystemObject的訪問,但無法用ADODB.Stream打開它。

此外,我可以使用abcPDF創建一個PDF,但我不能再創建一個具有相同名稱並覆蓋它(這用於工作)。這可以在網站文件夾結構內正常工作,但不在外面。

此外,我無法再使用JMail附加文件。這適用於webroot內部和外部的文件。所以這很奇怪。

我已經將完全控制權分配給了整個驅動器上的每個人,以確定它是否是權限問題並且沒有任何區別。

任何想法的人?

更新:在網站內部附加文件的問題似乎沒有再發生,因爲我用幾件事情來回避。我不確定不幸的是什麼。我在這方面沒有任何進展,並且在上面花了數小時,所以我最終移動了webroot中的所有文件,現在一切正常。這是不理想的,我仍然想要達到它的底部,但解決方法是可以接受的。

更新的問題,因爲我不小心寫的,而不是2008年

+0

Windows 2003/IIS6或Windows 2008/IIS7哪個? Windows 2003/IIS7的配置是不可能的。 – AnthonyWJones 2009-12-03 09:36:34

+0

是的,你是對的,它是Windows 2008,對不起。 – 2009-12-04 11:31:50

回答

0

在網站內部附加文件的問題似乎沒有再發生,因爲我用幾件事情來回避。我不確定不幸的是什麼。我在這方面沒有任何進展,並且在上面花了數小時,所以我最終移動了webroot中的所有文件,現在一切正常。這是不理想的,我仍然想要達到它的底部,但解決方法是可以接受的。

0

你可能需要採取在文件夾上的安全權限仔細看看你的應用程序主文件夾外Win2003的。還要看看用戶身份實際上用於運行代碼的情況,例如,您是否打開了Windows集成安全性?如果不是,那麼以前的服務器是否如此?

如果我們確實知道這是否是IIS7問題,在這種情況下,您的服務器是2008而不是2003,這可能會有所幫助。您可能還會發現,這種情況最好由serverfault.com人處理。

+0

它是Win2008 + IIS7。我如何檢查Windows集成安全性? – 2009-12-04 11:22:59

1

我想你應該首先從數據庫中檢查你如何保存有問題的PDF文件。這就是您將相關文件從同一臺機器或遠程機器保存到數據庫中的地方。通常,當您從同一開發人員計算機上進行保存並且您正在訪問時,將不會有錯誤,但是當該文件是從開發人員計算機以外的其他計算機保存的時候,則會出現此類錯誤。

例如:

'1. dbSignatureImage = New ADODB.Stream 
'2. dbSignatureImage.Type = ADODB.StreamTypeEnum.adTypeBinary 
'3. dbSignatureImage.Open() 
'4. dbSignatureImage. 

LoadFromFile(dbRecordSet.Fields("client_signature_filename").Value) 

從上面的代碼,我試圖從數據庫中(一次一個)顯示兩個不同的圖像,並在兩個圖像之間我直接從顯影劑機保存的一個和另一個圖像通過我的網絡從另一臺PC上保存。每當我嘗試顯示從網絡PC保存的第二個圖像時,我就有無法打開文件的錯誤。現在我所做的是評論第4行和獲取錯誤,但圖像沒有顯示,所以我嘗試使用IO.MemoryStream直接從BLOB字段顯示圖像本身,並使用以下代碼,它對開發人員機器和網絡上的任何PC。

Dim PassportImageArray() As Byte = CType(dbRecordSet.Fields("client_passport_image").Value, Byte()) 
Dim SignatureImageArray() As Byte = CType(dbRecordSet.Fields("client_signature_image").Value, Byte()) 

Dim PassportImageMemoryStream As New MemoryStream(PassportImageArray) 
Dim SignatureImageMemoryStream As New MemoryStream(SignatureImageArray) 

With picSearchPhotograph 
.Image = Image.FromStream(PassportImageMemoryStream) 
.SizeMode = PictureBoxSizeMode.StretchImage 
.BorderStyle = BorderStyle.None 
End With 

我想你可以用這個小想法解決你的問題。我希望你會有一些如何。

Kasapa-Sunyani

相關問題