【问题标题】:Problems using ".backup" command on ionic. Returning syntax error在 ionic 上使用“.backup”命令时出现问题。返回语法错误
【发布时间】:2019-10-24 21:30:10
【问题描述】:

我正在尝试从我的应用程序创建数据库的本地备份。为了实现这一点,我在 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”都会返回语法错误。为“DBtest.db”更改“file://mnt/sdcard/DBtest.db”,也没有效果。

我将这些网站用作参考:
How to backup sqlite database?

SQL script to "copy" a database

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

使用window.resolveLocalFileSystemURL(path, OnSuccess(), OnError()),没有显示任何结果,没有成功也没有失败,好像跳过了一样。 (也许是科尔多瓦的一个错误?)。

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

我的程序应该在 API 版本 19 或更高版本的 Android 上运行。 我正在使用离子 1。 AngularJS 和 Cordova 9.0.0。

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

【问题讨论】:

    标签: android cordova ionic-framework


    【解决方案1】:

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

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

    此插件允许将数据库导出/导入为 JSON 或 SQL。因此,尽管它没有按照我的意愿创建 .db 文件,但它仍然使我能够创建一个文本以用作备份。

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      相关资源
      最近更新 更多