win服務器 文件上傳下載出現「未指定的錯誤」 解決方法彙總

環境sql

  WIN平臺IIS服務器數據庫

    常常出現於ASPX頁面 服務器

彙總運維

  1.權限問題ide

  出現場景 : 基於ACCESS數據庫工具

    緣由解析 :測試

    1.首先須要排除自身問題,例如建表使用關鍵字,格式錯誤,插入數據與數據庫類型不匹配等等網站

    2.TEMP權限檢查,當數據寫入數據庫的時候須要獲取當前服務器權限只有設置了IIS的temp寫入權限才能進行數據寫入spa

  解決辦法 :.net

    第一種解決方法:使用Ms Access裏的「工具->數據庫實用工具->壓縮和修復數據庫」來修復db/global.asa。若是修復後仍是出錯,請查看db目錄下是否有global.dbl文件,若是有請刪除,如沒法刪除請結束服務器w3wp.exe進程(win2003)或Aspnet_wp.exe進程(win2000)後再刪除。
    說明:該種方法適用於數據庫設置錯誤問題致使數據寫入失敗,比較容易發現問題所在


    第二種解決辦法:
    設置Internet信息服務(IIS)管理器中的應用程序池,更改網站的程序池屬性見下圖:

    

    調整後便可解決問題。
    說明:標準的IIS服務器權限設置問題,通常企業有運維部門專門維護一般不會出現該狀況


    第三種解決方法:
    其實只要很簡單的幾步:
    開始。。。運行。。。regsvr32 jscript.dll開始。。。
    運行。。。regsvr32 vbscript.dll開始。。。
    運行。。。iisreset 

    說明:簡單百度了一下 REGSVR32爲系統註冊與反註冊工具,該工具主要用於修復系統文件好比上面所指regsvr32 jscript.dll 修復的是js文件本機註冊問題至關於從新修復引用的概念(不肯定)它裏面包含不少工具具體自行查看,最後一句IISRESET 重啓iis服務

  2.系統服務問題

    出現場景:各類文件上傳,EXCEL WORD 等等

    緣由分析:win平臺下上傳文件大多數分爲兩種 OLDB 與NPOI

      OLDB:當文件上傳到服務器的時候服務器須要調用自己的解析器去讀取當前文件經過連接字符串形式獲取到數據從而反饋DataSet或者 DataTable數據,分析底層代碼以下  

    

    當進行連接時會直接拋出異常,固然上述截圖只是測試用

  解決辦法:

    首先,若是該狀況發生在生產服務器上優先採用NPOI方式上傳不影響正常業務,其次發現問題跟蹤後對比服務器配置,未更改狀況下對比win服務肯定是否因爲更新致使某些服務異常,最後嘗試解決。

  錯誤分析:

  

異常詳細信息: System.Data.OleDb.OleDbException: 未指定的錯誤 

[OleDbException (0x80004005): 未指定的錯誤] System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1131233 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +53 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) 


網上的解決方案不少,正確答案原來如此: 

在鏈接數據庫的時候是這麼作的: 

public static OleDbConnection getxwdtConn() 

{ 

string connectionstring = WebConfigurationManager.ConnectionStrings["xwdtconnection"].ConnectionString; 

OleDbConnection con = new OleDbConnection(connectionstring); 

return con; 

} 

在MS sql或Access,中都不會有問題,調試也不會有問題。 

發佈以後會有如上錯誤提示。 

是由於數據庫的操做中確定有oledbdatadapter,或dataset,而且使用了con.open()和con.close(),。 

具體解決只需把open 和close刪掉就能夠了,由於用的是斷開式鏈接。 

若是改用靜態變量的作法

 2018年4月25日更新

 win服務器發生該問題後,因爲Oldb反饋爲null 改成npoi 方式上傳 後更新npoi系統引用文件莫名其妙修復................若遇到該問題不妨一試,記得對比win服務

相關文章
相關標籤/搜索