C# 内存流作为数据库
我目前正在考虑使用SQLite作为我的C项目的db引擎,但我遇到了以下问题:我找不到任何用于内存存储的API。我希望实现以下目标: 在程序启动时,我想将数据库文件从硬盘加载到内存中。 在程序执行过程中,我想使用这个内存流作为一个真正的db读、写、插入、选择等。 关闭后,将流保存到文件中 有谁能给我指出正确的方法,或者推荐另一个更适合此目的的db引擎。您可以使用它将db文件复制到内存,将内存复制到文件。 对的本机支持存在于版本1.0.80.0和SQLite 3.7.11的System.Data.SQLite中 这是如何在C中使用API的简单示例: SQLiteConnection source=new SQLiteConnectionData source=c:\\test.db; 资料来源:开放; 使用SQLiteConnection destination=新建SQLiteConnection 数据源=:内存: { 目的地:开放; //将数据库文件复制到内存 source.backUpdateBaseDestination,main,main,-1,null,0; 来源:关闭; //插入,选择,。。。 使用SQLiteCommand=newSQLITECommand { command.CommandText= 在t1 x值中插入“一些新值”;; command.Connection=目的地; command.ExecuteNonQuery; } source=new-SQLiteConnectionData-source=c:\\test.db; 资料来源:开放; //将内存数据库保存到文件 destination.backUpdateBaseSource,main,main,-1,null,0; 来源:关闭; }C# 内存流作为数据库,c#,sqlite,memory,C#,Sqlite,Memory,我目前正在考虑使用SQLite作为我的C项目的db引擎,但我遇到了以下问题:我找不到任何用于内存存储的API。我希望实现以下目标: 在程序启动时,我想将数据库文件从硬盘加载到内存中。 在程序执行过程中,我想使用这个内存流作为一个真正的db读、写、插入、选择等。 关闭后,将流保存到文件中 有谁能给我指出正确的方法,或者推荐另一个更适合此目的的db引擎。您可以使用它将db文件复制到内存,将内存复制到文件。 对的本机支持存在于版本1.0.80.0和SQLite 3.7.11的System.Data.S
谢谢你,这是一个很好的、干净的解决方案。有没有办法在不接触磁盘的情况下获取字节[]呢?警告:对内存中的数据库使用备份API会删除保证。@Gleno:将字节[]保存到临时文件temp.db中,然后使用备份API将其复制到内存数据库中。然后做出改变。然后使用备份api再次存储到temp.db。然后将temp.db读回字节[]。此API是用C编写的。如何将此API与mono一起使用?请建议