2010-02-18 91 views
3

我正在升级最初使用MS Access构建的jewllery商店的库存系统。该应用程序存储项目,客户,供应商,并显示有关项目存储的数据。报告工具应被视为为可打印格式的项目生成报告。C库存系统数据库#

该系统应该用C#构建,但我还没有决定用于该应用程序的数据库引擎。你有什么建议?我想到了SQLite,但我需要记住,从旧数据库迁移到新更新数据库是必须的。并且因为它最初是用MS Access构建的。我应该坚持与MS Access并建立我的应用程序?

编辑:这是一个单用户系统。

+0

Linq很酷。 – 2010-02-18 01:05:07

回答

4

对于单用户桌面应用程序供应商在微软生态系统中,考虑SQL Server Compact Edition而不是全面的服务器产品。下面是微软的概述的相关部分:

的Microsoft SQL Server 2005精简 版(SQL Server精简版) 是专为谁需要 重量轻开发,在工艺关系 数据库解决方案为他们 应用程序,可以开发并部署在桌面以及 移动设备上。 SQL Server Compact 版本运行时可用于开发 并在桌面上部署应用程序。

的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工具列表,包括各种迁移软件。

4

因为您使用的是C#,Sql Server似乎是合乎逻辑的人选; MySql也是一个不错的选择。

我不会考虑在生产应用程序中使用MS-Access或SqlLite;有太多的缺点/限制 - 例如参见all this stuff

+0

我同意这一点,你可以使你的代码数据库与ORM无关,那么它并不重要。 – 2010-02-18 21:21:55

+0

我想知道你关心的SQLite有什么特殊的限制。 – 2010-02-18 21:34:20

+0

@ [Daniel Straight]:最大的缺点是它依赖于O/S级文件锁定来控制并发访问;请参阅http://www.aspfree.com/c/a/Database/Using-SQLite-for-Simple-Database-Storage/ – 2010-02-18 23:12:10

0

Sql Server,那么你可以添加报告服务,并且访问的迁移路径应该很容易。你甚至可以从快速版开始。

2

这个决定取决于很多因素。就像有多少并发用户将访问此应用程序(Access不允许超过5个)。

  • 数据库有多大?
  • 你期望增长多少?
  • 除了基本数据存储之外,还需要哪些功能?
  • 预算是多少?

这些问题的答案将帮助您选择正确的产品。那里有很多不同的东西。到目前为止,我对SQL服务器和MySQL(这是免费的)非常满意。我会避开甲骨文,尽管我发现与其合作并且通常是一堆垃圾是一件麻烦事。

[编辑]

根据您最后的评论,我会去与SQL Server Express与高级服务http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d。该产品仍然是免费的。唯一的限制是数据库不能大于4千兆字节或类似的东西。我希望这有帮助。

+0

单个用户。除基本数据存储外,还需要报告服务。 [这与我试图制作的东西类似。] [1] [1]:http://www.executivpro.com/inventoryimage.html。你认为数据库用于构建该应用程序? – DanSogaard 2010-02-18 01:17:16

+1

@DanSogaard - 检查我最后的编辑。 – James 2010-02-18 21:20:53

7

如果您想坚持使用MS Technologies,SQL Server Express是一个不错的选择。由于您的转换将会是一次性的,您可以通过各种方式进行转换 - 查找数据库转换工具(看起来像是其中的一部分),甚至可以使用DTS,SSIS或手工编写您自己的转换工具代码,如果你需要的话。

+0

这是一个桌面应用程序。 SQL服务器是服务器类引擎,我需要一个易于部署的更简单的解决方案。 – DanSogaard 2010-02-18 01:16:51

+3

这就是我建议的SQL Server Express。看看这里的功能(http://www.microsoft.com/express/Database/)。我的理解是,SQL Server Express是为您想要的应用类型而创建的,它具有使用常用SQL Server方法的优点,并且可以在需要时扩展到全面的SQL Server。 – 2010-02-18 02:11:24

+0

@DanSogaard:我同意@Wagner Silveira:SQL Server 2008 Express可能是您最好的选择。它非常稳定,同时仍然是轻量级的,并且在需要时可以以更大版本的形式进行扩展。另外它是免费的!不能失去,在那里。 – Randolpho 2010-02-18 21:26:24