c# - 为您的 C# 应用程序创建安装程序时使用的数据库

标签 c# mysql database installation

我正在创建一个需要使用数据库的 C# 应用程序,我还计划为我的应用程序创建一个安装程序。我只想问哪个数据库最适合在我的应用程序中使用,以及如何在通过安装程序文件安装我的应用程序时将它安装在用户机器上。 我考虑过使用 MYSQL 数据库,但为此你需要安装 MYSQL。

更新

我希望每个用户在安装应用程序时都有自己的数据库实例

最佳答案

您不必随应用程序一起提供完整的数据库服务器;只有您的应用程序将用于远程连接到实际数据库服务器的可再分发运行时。对于 MySQL,您只需要程序集。

我编写的应用程序严重依赖于 SQL Server。为了简化评估和初始部署,安装程序将安装 SQL Server Express(作为特定于应用程序的实例安装)。如果您的应用程序是针对集中式数据库,我会推荐这种方法。

理解的关键是,尤其是对于商业应用程序,您安装的数据库引擎可能必须与相应数据库引擎的现有版本共存。这就是为 SQL Server Express 创建应用程序特定实例的原因。

嵌入的替代方案是:

  1. SQLite.net
  2. SQL Server Compact Edition . deployment process定义明确。
  3. VistaDB

嵌入式数据库在部署为服务器应用程序的一部分时会遇到一些挑战。多年来,微软拒绝允许 SQL Server Compact Edition用于 ASP.NET 应用程序。如果数据库是针对每个用户、每个设备的,那么嵌入式数据库可能是完美的。

还要注意 MySQL 有 license restrictions当作为商业软件的一部分交付时(也就是您作为 OEM、ISV 或 VAR)。

关于c# - 为您的 C# 应用程序创建安装程序时使用的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219236/

相关文章:

c# - 转换为通用基类失败

MySQL 查询权限语法

mysql - root 访问拒绝尝试更改 information_schema

asp.net - 将 LINQ to SQL 查询的结果转换为 XML/JSON

mysql - 外键等于 Null

java - 如何检索和/或添加数据库表值并在文本字段中显示

c# - 使用 C# 抓取由 JavaScript 生成的网页

c# - 将代码与 ?运算符(operator)

c# - 如何: Project Architecture for Unity3D or Spaghetti code?

php - MySQL插入表,值来自另一个表