2016-05-30 4 views
0

Я использую базу данных SQLite, и я хочу открыть файл .db изнутри виртуальной файловой системы Jimfs. Используя следующий код, который я могу импортировать файл в виртуальную файловую систему:SQLite + виртуальная файловая система?

String databaseFilePath = "..."; 
Configuration configuration = Configuration.unix(); 
FileSystem fileSystem = Jimfs.newFileSystem(configuration); 
Path targetDirectory = fileSystem.getPath("/"); 
Files.copy(Paths.get(databaseFilePath), targetDirectory); 

Далее, когда я пытаюсь открыть файл базы данных, я бегу в проблемы:

Connection connection = DriverManager.getConnection("jdbc:sqlite:" + databaseFileName); 

Я не могу использовать String s, так как виртуальный файл можно ссылаться только с помощью объекта Path. Как открыть соединение с базой данных с помощью Path?

ответ

1

SQLite работает с «настоящими» файлами.

Чтобы иметь возможность хранить данные в другом месте, вы должны реализовать свой собственный SQLite VFS. (Это не поддерживается каждым драйвером JDBC.)

 Смежные вопросы

  • Нет связанных вопросов^_^