2016-04-27 72 views
0

我有一個正在處理的「筆記」應用程序,用戶的所有筆記都保存在sqlite.db文件中。但是,我希望將此數據庫文件同步到用戶的OneDrive雲帳戶,以便筆記在雲中處於最新狀態。最終,我將使該應用程序與Windows Phone兼容,因此PC和手機版本將通過OneDrive帳戶保持同步....如果甚至可以實現的話。是否可以在OneDrive文件夾中的SQLite數據庫上運行查詢?

所以我想知道是否有可能在用戶的OneDrive帳戶上的sqlite.db文件上運行查詢,或者我只需要每次在一個位置發生更改時重新同步整個文件?

我可以想象,後一種方法將是一個問題,因爲我需要知道哪些單獨的記錄被修改或刪除,並做出相應的更改,所以是....幫助? :]

回答

0

如果可以在用戶的​​OneDrive帳戶上的sqlite.db文件上運行查詢?

SQLite不能直接與客戶端/服務器SQL數據庫引擎(如SQL Server或MySQL)相比較。它努力爲個人應用和設備提供本地數據存儲。因此,您無法直接在用戶的OneDrive帳戶上的sqlite.db文件上運行查詢。如果您想使用用戶的OneDrive雲帳戶,則可以利用OneDrive's App Folder。然而,當你使用這種方法時,你必須反覆下載和上傳你的SQLite數據庫文件來同步數據,正如你可以想象的那樣,當處理網絡問題和衝突時,這會變得很複雜。

根據你的情況,我建議你使用Offline Data Sync in Azure Mobile Apps

當您的應用程序處於離線模式時,用戶仍然可以創建和修改數據,並將其保存到本地商店。當應用程序重新聯機時,它可以與Azure移動應用程序後端同步本地更改。該功能還包括支持在客戶端和後端更改相同記錄時檢測衝突。然後可以在服務器或客戶端上處理衝突。

離線同步有很多好處:

  • 通過本地緩存設備上的服務器數據
  • 創建強大的應用程序時,有網絡問題
  • 允許最終用戶仍然存在有用提高應用程序的響應在沒有網絡訪問的情況下創建和修改數據,支持極少或沒有連接的情況
  • 跨多個設備同步數據,並在兩個設備修改相同記錄時檢測衝突
  • 在高延遲或流量計費的網絡

  • 限制網絡使用欲瞭解更多信息,請參閱Offline Data Sync in Azure Mobile AppsEnable offline sync for your Windows app,並在GitHub上的Todo offline sample

  • 相關問題