C# 大容量对象的存储

C# 大容量对象的存储,c#,C#,我正在构建一个C#应用程序,最终用户将不会有任何sql数据库管理器。我需要一种存储大约300万个对象(大约10-20个字符串字段)的方法,以便程序可以导入信息。我已经尝试过二进制格式,但是由于数据量太大,我的内存出现了异常。是否有其他方法可以快速、高效地存储对象 谢谢这就是数据库的用途。最终用户没有数据库系统并不重要。有许多轻量级选项可供您在应用程序中部署。以下是三点: 如果您仅使用Windows,则Access数据库引擎将内置到操作系统中。只需构建一个只有表定义(没有记录)的数据库,您的应用

我正在构建一个C#应用程序,最终用户将不会有任何sql数据库管理器。我需要一种存储大约300万个对象(大约10-20个字符串字段)的方法,以便程序可以导入信息。我已经尝试过二进制格式,但是由于数据量太大,我的内存出现了异常。是否有其他方法可以快速、高效地存储对象


谢谢

这就是数据库的用途。最终用户没有数据库系统并不重要。有许多轻量级选项可供您在应用程序中部署。以下是三点:

  • 如果您仅使用Windows,则Access数据库引擎将内置到操作系统中。只需构建一个只有表定义(没有记录)的数据库,您的应用程序就可以使用它
  • sqlite的实现完全在托管代码中,允许您将其直接编译到应用程序中
  • Sql Server Compact Edition只是两个*.dll文件,很容易随应用程序部署

这些选项都不要求您在目标系统的后台运行任何东西。

这就是数据库的用途。最终用户没有数据库系统并不重要。有许多轻量级选项可供您在应用程序中部署。以下是三点:

  • 如果您仅使用Windows,则Access数据库引擎将内置到操作系统中。只需构建一个只有表定义(没有记录)的数据库,您的应用程序就可以使用它
  • sqlite的实现完全在托管代码中,允许您将其直接编译到应用程序中
  • Sql Server Compact Edition只是两个*.dll文件,很容易随应用程序部署
这些选项中没有一个要求在目标系统上有任何在后台运行的东西。

也可以考虑。这适用于大容量、高IO、分布式和高性能计算。它非常灵活,对应用程序没有安装限制(可以完全独立)

希望这有帮助
希望这有帮助

这正是数据库的设计目的。试试嵌入式sql数据源。3m对象对于平面文件来说是巨大的。您可以使用和部署大量轻量级数据库,如SQLite和SQLCE,它们将为您完成所有的工作,并提高效率。否则,你将不得不研究数据流,而不是一次读取整个数据,或者使用“为什么要浪费时间重新发明轮子”.有很多免费数据库可用..为什么不使用它们..当你说“存储”时,这是长期的,还是只是暂时的?当你说“用户将没有任何sql数据库管理器”时,你是说他们不想维护数据库吗?或者DBA无法管理数据库?“快速且高效”让我们不要贪心,先生……这正是数据库的设计目的。试试嵌入式sql数据源。3m对象对于平面文件来说是巨大的。您可以使用和部署大量轻量级数据库,如SQLite和SQLCE,它们将为您完成所有的工作,并提高效率。否则,你将不得不研究数据流,而不是一次读取整个数据,或者使用“为什么要浪费时间重新发明轮子”.有很多免费数据库可用..为什么不使用它们..当你说“存储”时,这是长期的,还是只是暂时的?当你说“用户将没有任何sql数据库管理器”时,你是说他们不想维护数据库吗?或者DBA无法管理数据库?“快速且高效”让我们不要贪心,先生……根据个人经验,我会远离Access数据库引擎。它有许多怪癖,你必须了解,这些怪癖不如其他轻量级数据库引擎直观。我同意,但我还需要指出,这一点比过去要不那么真实了。PostOffice2007Access使用了一个全新的引擎,非常干净。非常感谢大家,一个嵌入式sql引擎将是完美的。你能给我链接一些文档吗?这是否也适用于使用mono运行应用程序的mac?我了解了access文件的使用情况,但根据个人经验,尝试一个时间有限的项目有点太可怕了,我会远离access数据库引擎。它有许多怪癖,你必须了解,这些怪癖不如其他轻量级数据库引擎直观。我同意,但我还需要指出,这一点比过去要不那么真实了。PostOffice2007Access使用了一个全新的引擎,非常干净。非常感谢大家,一个嵌入式sql引擎将是完美的。你能给我链接一些文档吗?这是否也适用于使用mono来运行应用程序的mac?我阅读了access文件的使用情况,对于一个时间有限的项目来说,这有点太可怕了