当前位置: 首页 > 知识库问答 >
问题:

在ionic上使用“.backup”命令时出现问题。返回语法错误

端木兴国
2023-03-14

我正在尝试从我的应用程序创建数据库的本地备份。为了实现这一点,我在javascript中创建了以下函数:

$rootScope.CriarBackupDoBanco = function () {
        var fileTransfer = new FileTransfer();
        var url = 'file://mnt/sdcard/';
        var fileName = 'database_test.db';
        var store = cordova.file.dataDirectory;
        try {
            DBA.query('.backup file://mnt/sdcard/DBtest.db').then(function (result) {
                return DBA.getAll(result);
            });
        }
        catch (e) {
            console.log(e);
        }

不确定是否有帮助,这是DBA工厂的查询功能:


    // Handle query's and potential errors
    self.query = function (query, parameters) {
        parameters = parameters || [];
        var q = $q.defer();

        $ionicPlatform.ready(function () {
            DB.executeSql(query, parameters, function (result) {
                q.resolve(result);
            }, function (error) {
                console.warn('Error DBA:');
                error.DBA_query = query;
                error.DBA_parameters = parameters;
                console.warn(error);
                q.reject(error);
            });
        });
        return q.promise;
    }

但是,它返回一个语法错误,带有“backup”和“.backup”。改变”file://mnt/sdcard/DBtest.db对于“DBtest.db”,也没有显示任何效果。

我用这些网站作为参考:
如何备份sqlite数据库?

SQL脚本来"复制"数据库

https://www.quackit.com/sqlite/tutorial/backup_a_database_to_file.cfm

使用窗口。resolveLocalFileSystemURL(路径,OnSuccess(),OnError())没有显示任何结果,也没有显示成功或失败,就像跳过它一样。(也许是科尔多瓦的一只虫子?)。

我还确认了我的DBA。query()函数使用诸如select、insert、create、delete等命令工作。

我的程序应该在API版本为19或更高版本的Android上运行。我用的是离子1。AngularJS和Cordova 9.0。0

显示的错误是:“语法错误接近。”(使用.backup时)或“备份附近的语法错误”(使用备份时)

共有1个答案

夏侯宏旷
2023-03-14

这不完全是我想要的,但很有效。

使用SQLite Porter Cordova/Phonegap插件(https://www.npmjs.com/package/uk.co.workingedge.cordova.plugin.sqliteporter)

此插件允许将数据库导出/导入为JSON或SQL。所以,尽管它不能创造一个新的世界。db文件,因为我希望它仍然使我能够创建一个文本作为备份使用。

 类似资料:
  • ionic cordova build android命令有问题。当我尝试启动该命令时,出现以下错误>cordova build android Checking Java JDK and android SDK versions android_sdk_root=undefined(推荐设置)android_home=/usr/lib/android-sdk(DEPRECATED)JDK 8('

  • 你好,我做了几天的研究和一些问题分析,但我现在不知道如何解决我的问题。 也许有人能帮忙...... 我正在使用Android设备的Jsch来访问我的raspberry pi,以便设置一些特定的命令。 我从jschshell命令开始,除了由于无限循环而无法关闭连接之外,一切都很好。 我试图切换到Exec,尤其是因为我只想发送几个命令,而不需要知道shell上发生了什么。 不管怎样...这是我的代码:

  • 问题内容: 我没有收到来自服务器的JSON类型数据作为响应。 我正在使用JSON插件。 如果我没有得到任何回应,但是如果我没有提及任何响应,那么我正在获取页面的HTML格式。 struts.xml: JSP页面: 控制台错误: org.apache.struts2.dispatcher.Dispatcher- 无法找到动作或结果没有为动作action.Part和结果定义结果。{和“ col1”:“

  • 问题内容: 我没有从服务器获得JSON类型数据的响应。 我正在使用JSON插件。 如果我没有得到任何回应,但是如果我没有任何回应,那么我正在获取页面的HTML格式。 控制台错误: -找不到动作或结果没有为动作action.Part和结果定义结果。 我没有获得有关jQuery成功的数据。请纠正我,这是怎么了? 问题答案: 使用A 来指定在执行操作和结果时从回调函数返回的数据类型,以及从服务器返回的响

  • 问题内容: 当我将其包含在void main中时,出现语法错误“无法解析硒” 当我将其放在我的void main之外和班级内部时,出现了错误: 请帮助我解决此问题。 问题答案: 古代的粗 硒 精制有一种方法, 但是很久以前不赞成使用这种方法。用于控制 自动化脚本 每个步骤的速度。因为 自动测试 的目的是减少 验证时间, 所以设置脚本执行的每一行的速度是矛盾的。因此被弃用了。 如果要等待某个条件,则