5
是否可以在二進制流上打開SQLiteConnection,而無需先將其保存到磁盤上?當然,有一種方法可以「欺騙」連接,將流視爲文件。我的意思是,內部就是這樣,無論如何,對吧?在二進制流而不是文件上打開SQLiteConnection?
是否可以在二進制流上打開SQLiteConnection,而無需先將其保存到磁盤上?當然,有一種方法可以「欺騙」連接,將流視爲文件。我的意思是,內部就是這樣,無論如何,對吧?在二進制流而不是文件上打開SQLiteConnection?
假設你在談論System.Data.SQLite
http://sqlite.phxsoftware.com/),那麼你可以設置連接字符串的文件名爲:memory:
,它應該創建一個內存數據庫。
var connection = new SQLiteConnection("Data source=:memory:");
據我所知,這創建了一個空的內存數據庫,我沒有看到用字節流初始化它的方法。 – 2014-09-28 21:41:36
正確。 SQLite'':memory:''是系統內部的一個特例,我不確定是否有一種很好的方式來初始化某些任意字節流,特別是不能從C#中進行初始化。在C++和POSIX操作系統中,我會建議一個tempfs文件,但我無法真正對Windows說話。 – 2014-09-29 05:03:19