Файл общей базы данных Adobe Air

#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 .