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