无需额外安装的数据库
Posted
技术标签:
【中文标题】无需额外安装的数据库【英文标题】:Database that requires no extra installation 【发布时间】:2011-05-29 21:00:43 【问题描述】:我开发了 C# 应用程序,用于存储和检索 SQL 数据库中的数据。 但是当我的客户必须部署他需要安装 sql server express 2008 的应用程序时,这是它的要求。现在他希望安装该软件而无需额外安装附加组件。所以我除了 dot net framework 应该没有任何东西额外安装。
我见过一些像SQL compact,SQL lite ,SQL CE and blackfishSQL
这样的数据库,但我真的不知道它们是否需要额外安装,以及我必须做些什么才能根据所选数据库更改我的整个代码
我看了this
请帮帮我
【问题讨论】:
【参考方案1】:我建议使用SQLite 或Server Compact (SQL CE)。它们不需要额外安装。
另一种选择是在安装项目中包含 SQL Server Express,以便在需要时自动安装。
SQLite 以快速和健壮着称。 但是,如果您喜欢 Microsoft 产品并且您已经在 SQL Express 中完成了所有工作,那么从开发工具支持的角度来看,SQL CE 可能是更好的选择。
【讨论】:
【参考方案2】:到目前为止,SQLite 是此类场景中通常考虑的最流行的选项。它不需要任何额外的安装。数据库接口本身在 dll 中可用,您与数据库交互所需的只是接口 dll。至于移植您的应用程序所需的努力程度,这将取决于您使用 Sql Server 特定 SQL 构造的程度。您的代码越接近 ANSI SQL,移植就越容易到任何其他符合 ANSI SQL 的数据库,如 SQLite。通常,如果您在应用程序中使用了 ORM 技术,任务会变得容易得多,因为它们在您的客户端代码和数据库之间提供了额外的抽象层
【讨论】:
【参考方案3】:我确定原发帖人不再需要这些信息 - 但为了其他人在谷歌上搜索相同的问题 - 让我添加一些我自己的信息。
我最近才将 C# 程序从使用 SQL Express 转换为 SQL Compact - 与转换为 SQLite 项目相比,它相对容易。代码非常简单。在 SQL Express 中你可能使用 SqlCommand 的地方,它就变成了 SqlCeCommand。从一种转换到另一种非常容易。
【讨论】:
以上是关于无需额外安装的数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 bash 中将 CSV 输出为单个字符串,无需额外安装 [重复]
Django Model OneToOneField 无需创建额外的 _id 数据库列
具有不匹配模式的 Spark 合并数据帧,无需额外的磁盘 IO