UniDAC使用教程(五) 在不穩定的網路中工作

2021-09-10 17:35:20 字數 1443 閱讀 1217

universal data access components (unidac)是一款通用資料庫訪問元件,提供了多個資料庫的直接訪問,如針對windows的delphi, c++builder, lazarus (以及 free pascal) , mac os x, ios, android, linux和64和32位的freebsd等等。我們將長期的經驗集於這個小組件,提供統一的資料庫連線訪問(如oracle、微軟sql等等)。這意味著您可以在您的專案之間輕鬆地切換不同的資料庫,以及建立跨資料庫應用程式介面。

建議在不穩定網路中工作時使用以下設定:

tcustomdaconnection.options.localfailover =true

tcustomdaconnection.options.disconnectedmode =true

tdataset.cachedupdates =true

tcustomdadataset.fetchall =true

tcustomdadataset.options.localmasterdetail =true

autocommit =true

這些設定最小化了對伺服器的請求數。使用tcustomdaconnection.options.disconnectedmode可以使資料集在沒有活動連線的情況下工作。它最大限度地減少了伺服器資源的使用,並降低了連線中斷的可能性。也就是說,在這種模式下,如果不再需要連線,連線將自動關閉。但是每個顯式操作都必須顯式完成。這意味著每個顯式連線後面都必須是顯式斷開連線。

將fetchall屬性設定為true允許在游標開啟後獲取所有資料並關閉連線。如果您使用的是主/細節關係,建議將localmasterdetail選項設定為true。

不建議顯式準備查詢。使用cachedupdates模式編輯資料集資料。使用tcustomdadataset.options.updatebatchsize屬性減少對伺服器的請求數。

如果連線中斷,則會發生致命錯誤,如果滿足以下條件,則會引發onconnectionlost事件:

如果使用者不拒絕建議的retrymode引數值(或不使用onconnectionlost事件處理程式),則unidac可以隱式執行以下操作:

connect;

dataset.open;

即當連線中斷時,執行隱式重新連線,並重新執行相應的操作。我們建議在事務中包裝其他操作,並自己完成它們的重新執行。

由於連線持續時間縮短,在disconnected模式下使用池可以加快大多數操作。

穩定的和不穩定的排序

首先,排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果ai aj,ai原來在位置前,排序後ai還是要在aj位置前。其次,說一下穩定性的好處。排序演算法如果是穩定的,那麼從乙個鍵上排序,然後再從另乙個...

排序演算法的穩定與不穩定

排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前 2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果 ai aj,ai 原來在位置前,排序後 ai還是要在 aj位置前。其次,說一下穩定性的好處。排序演算法如果是穩定的,那麼從乙個鍵上排序,然後再從另...

排序演算法的穩定與不穩定

排序演算法的穩定與不穩定 非原創 首先,排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前 2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果 ai aj,ai 原來在位置前,排序後 ai還是要在 aj位置前。其次,說一下穩定性的好處。排序演算法如果...