SQLite + Виртуальная файловая система?

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

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 s?

1 ответ

Решение

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

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

Другие вопросы по тегам