Могу ли я создать соединение sqlite3 без файла в Python? - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть строка байтов, которая содержит содержимое действительной базы данных sqlite3. Я должен сохранить эту строку в файл и вызвать:

conn=sqlite3.connect("FILE_NAME")

Я бы предпочел не сохранять эту строку в файл, потому что она уже есть в памяти. Есть ли способ создать объект соединения без этого промежуточного шага?

Спасибо.

Это Python 3.

1 Ответ

2 голосов
/ 26 апреля 2019

AFAIK вы не можете. Существуют различные способы использования базы данных в памяти, либо с файловой системой памяти, либо со специальной базой данных ':memory:'. Но в любом случае база данных является непрозрачным объектом, который известен только своим объектом Connection , и вы не можете (легко) загрузить или сохранить его.

Лучшее, что я могу себе представить с файловой системой памяти, - это использовать ее для записи байтовой строки в файл memory и позволить sqlite использовать ее. Таким образом, на диск ничего не было записано, но вы на самом деле не обращались непосредственно к строке байтов ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...