作者Teferi (太費力)
看板MacDev
標題[問題] SQLite檔案下載 資料錯誤(觀念問題)
時間Fri Jan 17 16:18:28 2014
各位板上的先進,前輩們
小弟現在的維運案又碰上問題了
先描述一下需求功能 是手機端資料庫連線到Server下載
1.送出 API 1 確認線上版本(傳回版本string)
2.若版本有更動則送 API 2 , 並傳回下載網址 HTTP/File (其中檔案名稱是固定的)
3.ASIHTTP套件下載db.sqlite 後存入手機
目前發生的問題是 在版本未更新的情況下,下載到的db.sqlite內容會不同
與Server端的維護者確認 server上版本只有一個A
但是手機卻有下載到資料不全B的內容(檔案名稱沒變)導致資料缺少
找不出來是哪裏出錯了
目前整理出來 兩個
猜想的答案 跟解決方法
1.db.sqlite下載不完整,所以雖然有資料但是不完全
解決方法:壓縮成gzip 下載後若無法解壓縮則捨棄
疑問:因不知道sqlite的檔案結構,是否 下載不完全仍可開啓讀檔
若是 此方案才有可能解決
2.網路環境Cache,因爲這個App存在有一段時間了,有舊的資料存在網路proxy上
若是真因,無論是手機端或Server端都改變不了
解決方法, 修改Server端API讓檔案名稱有版本號(如db20140117v1.sqlite)
疑問:網路是否因路由不同,造成每次取得的檔案有可能是舊的版本on proxy
小弟在寫iOS App前完全沒有資訊背景,所以想來問問可能的真因
問題若很常識還請見諒
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.39.226
※ 編輯: Teferi 來自: 60.251.39.226 (01/17 16:24)
1F:→ howdiun:用瀏覽器下載來看,釐清是APP問題還是SERVER問題 01/17 18:15
2F:→ Teferi:確認過用瀏覽器下載都是OK的,但手機中的有時資料有少 01/17 18:54
3F:→ sorkayi:資料下載到一半跳出的 之後再開就會出問題? 01/17 21:13
4F:推 wasihero:有沒有完整可以用 md5 做檢查 01/18 13:48
5F:→ uranusjr:Cache 改不掉很沒道理, 至少在 server 一定能關掉吧 01/18 15:46
6F:→ Teferi:後來覺得是1造成的,所以決定在app端加上check機制 01/22 09:56