【发布时间】: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