我有一个 android 应用程序,它填充了一个具有众多纬度和经度的 SQLite 数据库。然后我需要将该数据存储在外部 SQL Server 数据库中。我遇到的问题是将该文件发送到 Web 服务。我找不到任何关于类应该如何看待的示例,这些示例包含 db 文件并将其存储在单独的 SQL Server db 中。这甚至是我应该解决问题的方式吗?
问问题
2773 次
2 回答
3
更好的方法是通过 Web 服务将实际的纬度/经度数据发送到 db,而不是发送整个 db 文件本身。
这样做可以完成几件事:
- 实现起来应该简单得多
- 您不需要在服务器端支持 SQLite,只需要在客户端
- 数据“设置”将立即可用于查询 - 而不是需要在使用之前从 SQLite db 文件中提取
编辑:您上传的频率和数量完全取决于您。您可以使其由用户激活或在某个时间间隔内以批量方式或一次一个方式上传最新数据,直到您获得最新数据。无论哪种情况,您都可以使用时间戳跟踪哪些数据需要上传。
“批量”传输的一种简单方法是从 SQLite 数据库中提取您需要保存的数据,并将其放入 JSON 或 XML 对象中,该对象将在服务器上解释为纬度/经度数据的集合。这会将整个上传放入单个 Web 服务调用中,而不必遍历您的“最新”记录并为每个项目调用 Web 服务。
于 2012-04-11T22:17:56.803 回答
0
而不是将数据库发送到服务器,您应该有一种机制,可以只导出数据并将其发送到数据库。
您可以将数据导出为 CSV 文件或任何其他格式,然后将其发送到服务器,以便服务器可以轻松读取该 CSV 并将该数据插入数据库。
您还可以阅读您的 SQLite 数据库,然后您可以制作 XML、JSON 等结构化数据。然后您可以连接到网络服务,然后将结构化文件发送到服务器。
如果您有很多数据并且想要将其发送到服务器,那么 CSV 是最佳选择。
于 2012-04-12T17:22:31.140 回答