簡體   English   中英

.net Windows應用程序脫機存儲數據並在存在網絡時存儲到db

[英].net windows application store data offline and store to db when there is network

我正在開發用於農業目的的Windows應用程序。 多個用戶將使用該應用程序來維護數據。 主要問題是工作地點將沒有網絡連接。 但是到了一天結束時,如果有任何選擇,他們可以進行同步。

我只想知道如何在存在網絡的情況下本地導入和存儲所有數據以及如何將數據更新到數據庫。

我認為的選項是在運行此應用程序的每台計算機上都有SQL。 沒有網絡時,將數據存儲到本地數據庫。

有一個單獨的按鈕,可以在有網絡時將本地數據導出到集中式數據庫。

看起來這很復雜。 有沒有更好更好的選擇。

我更喜歡使用c#,Visual Studio。

謝謝。

您可以使用SQLite在本地存儲數據。 它是快速,輕量級的公共領域。

您可以使用集中式服務器選擇的任何數據庫。

嗯,這是一個相當廣泛的問題,因為它有很多選擇和方案。 您應該問自己的問題是:

  1. 用戶是僅處理新信息還是來自先前同步中來自任何其他用戶的任何信息?
  2. 您必須處理更新沖突嗎?
  3. 您僅處理文本信息還是具有復雜的類型和二進制文件?

對於該解決方案,從我的角度來看,最簡單的方法是在便攜式設備上使用SQL Lite,這是一種輕量級的SQL客戶端,可讓您輕松處理信息。 在服務器上,您可以使用任何您想使用的東西,SQL Server,MySQL或任何其他SQL風格。 只需確保您的便攜式設備OS有一個連接器即可。

如果您一直想在便攜式設備上使用SQL Server,那就太麻煩了!!!!,您可能要檢查Microsoft Sync框架 ,因為它提供了幾乎所有可能的方案來處理數據同步,管理沖突等。

感謝您的回答。 請找到我們實施的以下解決方案。

1)在所有本地計算機上安裝SQL Express

2)使用Microsoft Sync框架同步數據。 同步是按需配置的。

面臨的問題:

1)我們在幾個表上使用了geometry數據類型,而同步框架不支持此類型。

2)數據庫架構中的任何更改都不會反映在客戶端計算機上。 我們將必須刪除用於跟蹤表更改的所有系統生成的過程,然后重新生成它。 我相信會有更好的方法來做到這一點。

干杯,吉卜力

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM