android - SQLite数据库文件以SQL格式上传到服务器

标签 android sqlite client-server android-sqlite

我想在服务器上上传本地sqlite数据库文件,但以sql格式。是否可以直接保存为mysql支持的格式?该文件已成功上传到服务器,但它只是 sqlite db 的平面文件。当我在 editplus 中打开它或在 phpmyadmin 中导入它时,它显示错误。但是,当我从 sqlite 管理器以 .sql 扩展名手动导出数据库时,它成功在 editplus 中以可读格式打开。请帮我解决这个问题。提前致谢!

最佳答案

据我所知,您正在谈论两个完全不同的事情。

这就像将数据库转储文件与正确导出的文件(例如具有来自 Oracle 或 MySql 的架构和数据信息的 xml 文件)进行比较

导出时,您会得到一个带有或不带有 .sql 扩展名的文件,这意味着带有一组查询的文件,例如 DDL 或 < strong>DML createinsert 等。可以按顺序运行以执行其中的所有命令,并为您提供其中存在的正确模式和数据。文件。

而通过应用程序创建的数据库文件特定于设备,并且是特定于 sqlite 浏览器的 .sqlite 文件,并且可以读取它而不仅仅是您可以在 edit-plus 或文本编辑器中打开的一组查询。

您在设备上找到的 Sqlite DB 文件是动态生成的页面,以维护数据库的完整性。

有关更多信息,您必须阅读,

Format of sqlite database

抱歉,我没有代码,但想法是,

--使用算法编辑--

假设您拥有所有表和约束的创建命令,因为它们在大多数情况下都不会更改。

You may use this function as a Utility to create and maintain the sql command list for you parallel to the db you have.

void createExportCommands()
{
...

 - Read all tables one by one using a `Cursor`
 - Based on specific tables/columns create queries 
i.e. String query="insert into "+your_table+" values("+cursor.getString(0),....+");";
 - Write this data into a file called export_data.sql and keep updating it in background

}

也许这不是最好的方法,但它会解决您的问题。

关于android - SQLite数据库文件以SQL格式上传到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604976/

相关文章:

android - 在 Fragment 中添加 GridView

android - 如何从 sqlite android 中的 max(id) 获取属性表?

java - UDP 中的服务器-客户端

java - Jasypt EncryptionOperationNotPossibleException

c# - 测试远程客户端-服务器应用程序

java - 安卓应用注册验证

c# - 如何独立使用 Xamarin Profiler 来分析应用程序

android - 从 Android 上的 Xamarin 连接到配对的蓝牙设备

android - 如何获取数据库模式的版本?

java - 表未删除