将数据库作为C#app后端的一部分进行分发

时间:2010-06-01 16:08:55

标签: c# database licensing distribution

我计划编写和商业化一个C#应用程序,它将数据存储在底层数据库中 我在我的环境中使用MySQL进行自己的开发,这就是我自己用来编写应用程序的方法(不需要使用FK - MyISAM引擎就可以了)。

我担心将应用程序与数据库引擎一起分发会有多容易。 使用MySQL是否允许我轻松打包应用程序,以便在客户端进行“一键式”安装? (即我不希望他们自己安装MySQL)从许可的角度来看它是否可行?

是否有其他数据库系统可以使流程更直接

7 个答案:

答案 0 :(得分:7)

答案 1 :(得分:4)

Sqlite非常简单。您只需使用您的应用程序部署DLL。鉴于缺乏信息,我无法判断你的情况有多合适。

答案 2 :(得分:2)

我认为SQLite可以解决这个问题,因为它是一个基于文件系统的数据库,所以不需要安装。

Access也可以做到这一点,并且大多数企业已将其作为Microsoft Office的一部分安装,但您不需要安装它以便使用Odbc或OleDb组件作为其一部分GAC。

答案 3 :(得分:1)

我认为,嵌入式DBMS是最好的方式。例如,您可以使用Firebird Embedded

答案 4 :(得分:1)

这里的关键是你需要什么样的数据库。此数据库是否在应用程序的多个用户之间共享?如果是这样,那么MySQL就没问题。

但听起来更像是打算将此数据库用作私有数据存储,其中每个已安装的应用程序实例都拥有该计算机或配置文件本地的数据。在这种情况下,您需要一个进程内引擎,如Sql Server Compact Edition,Sqlite,甚至是Access,而不是像MySql或Sql Server Express Edition这样的服务器级引擎。

答案 5 :(得分:0)

SQL Server 2008 Express可供ISV重新分发。您还可以使用Microsoft Web Platform Installer进行部署。

答案 6 :(得分:0)

SQL Server Express是另一种选择。与.NET完美集成,可免费安装,每个数据库支持高达10GB(如果使用文件流功能,则支持更多)。