上傳三個檔案,Web就掛點? 「已超遇連線逾時的設定。在取得集區連接之前超過逾時等待的時間, 可能的原因為所有的共用連接已在使用中,並已達共用集區的大小的最大值。」 - Slash Engineer 要多斜有多斜

Breaking

Slash Engineer 要多斜有多斜

程式設計的學習過程 (環境設置、開發環境、程式設計、語法練習、資料結構等等...) 99'暑假:六月初開始. 社會新鮮人:十一月初開始.

2017年8月22日 星期二

上傳三個檔案,Web就掛點? 「已超遇連線逾時的設定。在取得集區連接之前超過逾時等待的時間, 可能的原因為所有的共用連接已在使用中,並已達共用集區的大小的最大值。」

上傳檔案時,固定上傳三個檔案,網頁就會停止運作,埋log檢查發現以下錯誤訊息:
「已超遇連線逾時的設定。在取得集區連接之前超過逾時等待的時間,
可能的原因為所有的共用連接已在使用中,並已達共用集區的大小的最大值。」

一步一步檢查發現,原來是在這個塞固定資料的動作時,發生connection過多的現象,
逐步trace發現DBcon1都沒有關閉,因此增加Finally,在每一步完成之後都關閉連線,避免連線數過多的問題再次發生。


***2022/06/09 更新程式碼style以利閱讀***
try
{
    foreach (string sql in insert_SQL)
    {

        oPF = new PubFunc.PubFunc();
        DBCon1 = oPF.DbOpenConnect(DBName, DBUser);
        OracleCommand cmd = DBCon1.CreateCommand();
        cmd.CommandText = sql;
        cmd.ExecuteNonQuery();
        cmd.Dispose();

    }
}
catch (Exception ex)
{
    string outResult = ex.Message.ToString();
    throw;
}
finally
{

    if (DBCon1.State == ConnectionState.Open) { DBCon1.Close(); }
}


Ref:
程式設計俱樂部 - http://www.programmer-club.com.tw/ShowSameTitleN/db/1394.html

沒有留言:

張貼留言

問題沒有大小或好壞