我正在使用addon-sdk编写我的第一个firefox附加组件。
此附加组件的目的是
我使用sqlite3创建了我的SQLite数据库,并将其作为myDB.db存储在“data”文件夹或附加组件中。
但是当我尝试打开我的数据库时,它不起作用。
我尝试过这样做没有任何成功:
// Import the needed modules
var {Cu} = require("chrome");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/FileUtils.jsm");
// Open SQLite database
let file = FileUtils.getFile(self.data, ['myDB.db']);
let mDBConn = Services.storage.openDatabase(file); // Will also create the file if it does not exist
我在Mozilla存储文档中将之前设置的位置更改为“ProfD”,因为数据库不存在(或者我应该将其复制到那里?)。
请告诉我是否应该采取不同的行动。我想到了SQLite,因为会有一些问题。
答案 0 :(得分:3)
来自Wladimir Palant接受的"How to initialize SQLite file for Firefox add-on?"
的回答从Add-on SDK 1.5开始,扩展程序不再被解压缩 安装 - 它们作为打包的XPI文件保留在磁盘上(这很好 表现)。 SQLite需要一个物理文件,而不是东西 在档案馆内。
您应该使用ProfD文件夹存储文件。这也意味着无论数据存储在您的数据库中,还是在升级或复古安装期间都保留在那里