我是否需要运行服务器才能实现类似数据库的功能?

时间:2011-03-26 15:50:29

标签: c# database visual-studio-2010

我正在尝试开发一个存储大量数据的程序,我认为这类似于地址簿,其目的是随着时间的推移将新的数据定期添加到程序中。

我知道我可以设置一个SQL服务器,并且具有该程序界面,但如果我想与其他人共享我的程序,我不能保证他们是有权访问服务器,或者他们可以设置自己的服务器来保存数据。

知道我可以简单地将所有数据硬编码到实例化对象中,但这样做不够优雅,并且可能会令人难以置信地改变或维护。

我是否可以设计程序,使其保持类似数据库的结构,但不依赖外部程序(如SQL服务器)?

6 个答案:

答案 0 :(得分:2)

“SQLite是一个软件库,它实现了一个独立的,无服务器,零配置,事务性的SQL数据库引擎。”

http://www.sqlite.org/

答案 1 :(得分:1)

不确定。您可以使用XML。 XML也可以用作ASP.NET组件的数据源,就像数据库一样。

答案 2 :(得分:1)

您可以使用像SQLite这样的平面文件数据库,它在编译时链接,可以与您的代码一起分发。

答案 3 :(得分:1)

您有几种选择:

  1. 使用SQLiteADO.NET provider
  2. 等平面文件数据库
  3. 以XML或CSV等格式将数据保存到文件中,或者使用二进制序列化(如果您不希望将所有数据都存储在内存中,可以使用更精细的内容)
  4. 可以从互联网访问公共SQL服务器

答案 4 :(得分:0)

当然,出于此目的,这些始终是来自MS的SQL Server express

答案 5 :(得分:0)

没有你没有找到服务器。最灵活的解决方案是将NHibernateFluentNHibernate一起使用。

不同的数据库有不同的驱动程序,如SQlite,MsAccess以及服务器,如MsSql,Oracle,....