#javascript #apache-flex #air #adobe
#javascript #apache-flex #air #adobe
Вопрос:
Возможно ли установить базу данных SQLite, доступную для чтения и записи всеми пользователями на компьютере (Windows или Mac)?
Насколько я видел в документах API, единственные папки, к которым я могу получить доступ на чтение / запись, являются локальными для конкретного пользователя компьютера.
Ответ №1:
Вы должны иметь возможность читать / записывать, где хотите, используя класс File. Вам просто нужно решить, куда вы хотите указать SQLite, на:
var db:File = File.resolvePath("/some/path/yourDB.db");
var sqlConnection:SQLConnection = new SQLConnection();
sqlConnection.openAsync(db);
Однако вы должны принять во внимание, что не все компьютеры используют одинаковые абсолютные пути. Возможно, было бы неплохо, если бы пользователь указал, к какой базе данных он хочет открыть.
Комментарии:
1. Я сделал это, но applicationStorageDirectory является локальным только для 1 пользователя на этом компьютере, а не для всех пользователей компьютера.
2. о, извините, я хотел удалить эту часть. Вы можете использовать любой путь, который вы хотите.
3. Ах, это имеет смысл. Но у него есть кросс-платформенные проблемы, о которых вы упомянули.
4. Это так, но вы используете «общую» базу данных SQLite, следовательно, невозможно точно знать, где она будет находиться в каждой отдельной системе, если вы не попросите пользователя выбрать ее с помощью browseForOpen .