我正在为最初使用 MS Access 构建的珠宝店升级库存系统。该应用程序存储项目、客户、供应商,并显示有关存储项目的数据。应考虑使用报告工具生成可打印格式的项目报告。
该系统应该用 C# 构建,但我还没有决定我应该为这个应用程序使用的数据库引擎。你有什么建议?我想到了 SQLite,但我需要记住,将项目从旧数据库迁移到新更新的数据库是必须的。而且由于它最初是使用 MS Access 构建的。我应该坚持使用 MS Access 并用它构建我的应用程序吗?
编辑:这是一个单用户系统。
我正在为最初使用 MS Access 构建的珠宝店升级库存系统。该应用程序存储项目、客户、供应商,并显示有关存储项目的数据。应考虑使用报告工具生成可打印格式的项目报告。
该系统应该用 C# 构建,但我还没有决定我应该为这个应用程序使用的数据库引擎。你有什么建议?我想到了 SQLite,但我需要记住,将项目从旧数据库迁移到新更新的数据库是必须的。而且由于它最初是使用 MS Access 构建的。我应该坚持使用 MS Access 并用它构建我的应用程序吗?
编辑:这是一个单用户系统。
如果您想坚持使用 MS 技术,SQL Server Express 是一个不错的选择。由于您的转换将是一次性的,因此您可以通过多种方式进行转换 - 要么查找 DB 转换工具(似乎周围有一些),要么甚至使用 DTS、SSIS 或手工编写自己的代码,如果需要的话。
对于 Microsoft 生态系统中的单用户桌面应用程序,请考虑SQL Server Compact Edition,而不是成熟的服务器产品。以下是微软概述的相关部分:
Microsoft SQL Server 2005 Compact Edition(SQL Server Compact Edition)专为需要轻量级、进程中的关系数据库解决方案的开发人员设计,他们的应用程序可以在桌面和移动设备上开发和部署。SQL Server Compact Edition Runtime 可用于在桌面上开发和部署应用程序。
SQL Server Compact Edition 是一个功能强大但轻量级的关系数据库引擎,通过支持熟悉的结构化查询语言 (SQL) 语法并提供与 SQL Server 一致的开发模型和 API,可以轻松开发桌面应用程序。
它的一些限制(例如,没有嵌套事务)在其 Wikipedia 文章中进行了描述,并且与其他嵌入式数据库的比较比比皆是(据我所知,没有关于最佳选择的共识)。
至少有一个 SO question解决从 Access 迁移的问题,此处的海报链接到 SQL Server CE 工具列表,包括各种迁移软件。
由于您使用的是 C#,因此 Sql Server 似乎是一个合乎逻辑的候选者;MySql 也是一个不错的选择。
我不会考虑在生产应用程序中使用 MS-Access 或 SqlLite;太多的缺点/限制 - 请参阅所有这些内容以获取示例。
这个决定取决于许多因素。就像有多少并发用户将访问此应用程序(访问不允许超过 5 个)。
这些问题的答案将帮助您选择合适的产品。那里有很多不同的。到目前为止,我对 SQL Server 和 MySQL(免费)非常满意。我会避开 Oracle,尽管我发现使用它很麻烦,而且通常是一堆垃圾。
[编辑]
根据您的最后评论,我将使用带有高级服务的 SQL Server Express http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d。该产品仍然免费。唯一的限制是数据库不能大于 4 GB 或类似的大小。我希望这有帮助。
看看 PostgreSQL,http://www.postgresql.org/
它是免费的、快速的,并且有 .NET 的提供程序
Sql Server,那么就可以添加报表服务了,从访问的迁移路径应该很容易了。您甚至可以从 Express 版本开始。