2010-10-05 1 views
5

Возможно ли открыть SQLiteConnection в двоичном потоке без сохранения его на диск? Конечно, есть способ «обмануть» соединение, думая, что поток - это файл. Я имею в виду, внутренне это то, что он делает, так или иначе?Открытие SQLiteConnection в двоичном потоке вместо файла?

ответ

3

Предполагая, что вы говорите о System.Data.SQLite от http://sqlite.phxsoftware.com/), вы можете установить имя файла в строке подключения на :memory: и создать базу данных в памяти.

var connection = new SQLiteConnection("Data source=:memory:"); 
+2

Как я понимаю, это создает пустую внутреннюю память db, и я не вижу способа инициализировать ее потоком байтов. –

+1

Исправить. SQLite '': memory: "' является частным случаем внутри системы, и я не уверен, что есть хороший способ инициализировать это с помощью некоторого произвольного потока байтов, особенно не из C#. В C++ и ОС POSIX я бы предложил файл tempfs, но я не могу разговаривать с Windows. –

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