資料庫斷掉
① 長時間連接資料庫不斷開有什麼不好
補充一下:不管對於什麼樣的應用程序,即使頻繁訪問資料庫的程序,也不建議長時間不釋放連接。因為資料庫最主要的目的就是用來共享數據,而且資料庫必然要為多用戶、多程序服務,所以資料庫有限的資源是非常重要的。現在為了提供效率,一般都是使用資料庫連接池的方法。
不知道你用來干什麼,無法說的更詳細了。舉例子,就好比你給某個廠商打電話,要求技術支持。即使你不說話,但是如果你一直不放下電話,其他人就無法把電話打進來。大的廠商,會有多個客戶電話,但不是無限的。
而資料庫也是如此,雖然有的伺服器強大些,但是他的處理能力也有限的。當某個程序連接上資料庫後,資料庫就必須為他分配一定的資源,只要這個程序不斷開連接,那麼為他分配的資源,就無法釋放,也就無法被其他程序使用。當這樣的程序足夠多時,再有新程序來,資料庫就沒有資源可分配了。這時有的資料庫就要重新啟動了,強行釋放這些被佔用的資源。
你可自己測試一下,多運行幾個你這樣的程序,看看你的資料庫能承受到什麼時候。
資料庫資源包括連接數、游標數等,你可以通過設置資料庫參數來增加這些數目,但不是無限的。因為這些資源最終還是會受你的機器硬體限制(內存、CPU等)
資料庫的資源是有限的,如果程序不斷開連接,那麼資料庫資源就無法釋放。如果還有其他程序需要訪問資料庫,那麼當資料庫資源耗盡的時候,這些程序就只能等待,直到超時失敗。
② 為什麼資料庫突然連接中斷
始終保持連接會佔用系統資源,這是個編程習慣的問題,資源用完以後,要馬上釋放掉
當然如果你的程序需要持續不斷的與資料庫交換數據,也可以不用斷開
頻繁申請連結和斷開,也是浪費資源!
③ mysql資料庫不知道為什麼就斷開連接了
僅僅是斷開連接,還是資料庫直接重啟了
貌似是數據已經壞了,
只能重作
④ 資料庫自動關閉怎怎麼辦
不自動關閉就不要這么辦了
⑤ 怎樣用SQL語句斷開資料庫的連接
sql語句當然不行了,首先他還沒建立連接,他的命令讓誰解釋運行呢!
⑥ 如何斷開資料庫
右鍵點資料庫,選Detach菜單。(注意如果有連接正在訪問資料庫,需要在此功能內將連接斷開)
⑦ 如何判斷資料庫斷開連接
首先可以判斷資料庫是否連接,如果連接了,就執行斷開即可,如果沒有連接,可內以執行自定義的操作容
/// <summary>
/// 判斷資料庫是否連接
/// </summary>
/// <returns>是否連接</returns>
public bool IsConnected()
{
SqlConnection connection = new SqlConnection(connectionString);//connectionString 資料庫連接字元串
try
{
if (connection.State != ConnectionState.Open)//判斷資料庫狀態是否斷開
{
connection.Open();//連接資料庫
}
return true;
}
catch
{
connection.Close();//關閉資料庫連接
return false;
}
}
⑧ 資料庫連接自動斷開有什麼解決方案
mysql與程序連接,在一定時間內沒有出現連接超過mysql的連接等待時間(wait_timeout)會出現斷開連接情版況,跟資料庫配權置有關。
mysql默認連接等待時間是為(28800s)即8h,
命令:show global variables like 'wait_timeout' 查看等待時間
在msql5中wait_timeout的最大值分別是24d/365(win/linux);
在mysql中的安裝目錄中的my.ini增加一行 wait_timeout=1814400
linuix在etc/my.cnf中