【问题标题】:Database for an Inventory System in C# [closed]C#中库存系统的数据库[关闭]
【发布时间】:2011-01-18 03:20:10
【问题描述】:

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

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

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

【问题讨论】:

  • 顺便说一句,Linq 很酷。

标签: c# database desktop-application inventory


【解决方案1】:

如果您想坚持使用 MS 技术,SQL Server Express 是一个不错的选择。由于您的转换将是一次性的,因此您可以通过多种方式进行转换 - 要么查找 DB 转换工具(似乎周围有一些),要么甚至使用 DTS、SSIS 或手工编写自己的代码,如果需要的话。

【讨论】:

  • 这是一个桌面应用程序。 SQL server 是一个服务器类引擎,我需要一个更简单、易于部署的解决方案。
  • 那是我建议使用 SQL Server Express。看看这里的功能 (microsoft.com/express/Database)。我的理解是,SQL Server Express 是为您心目中的应用程序类型创建的,具有使用通用 SQL Server 方法的优势,并且能够在需要时扩展到完整的 SQL Server。
  • @DanSogaard:我同意@Wagner Silveira:SQL Server 2008 Express 可能是您最好的选择。它非常坚固,同时仍然是轻量级的,并且您可以在需要时以更大版本的形式获得可扩展性。而且它是免费的!不能输,那里。
【解决方案2】:

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

Microsoft SQL Server 2005 精简版 版本(SQL Server 精简版) 专为需要的开发人员而设计 重量轻,过程相关 他们的数据库解决方案 可开发的应用程序和 部署在桌面以及 移动设备。 SQL Server 紧凑型 Edition Runtime 可用于开发 并在桌面上部署应用程序。

SQL Server 精简版是一个 强大但轻量级的关系 数据库引擎,使其易于 通过以下方式开发桌面应用程序 支持熟悉的结构化查询 语言 (SQL) 语法并提供 开发模式和API一致 使用 SQL Server。

its Wikipedia article 中描述了它的一些限制(例如,没有嵌套事务)以及与other embedded databases abound 的比较(据我所知,对于最佳选择没有达成共识)。

at least one SO question 解决从 Access 迁移的问题,a poster here 链接指向 SQL Server CE 工具列表,包括各种迁移软件。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 我同意这一点,您可以使用 ORM 使您的代码数据库与 ORM 无关,那么这并不重要。
    • 我想知道您关心 SQLite 的哪些特殊限制。
    • @[Daniel Straight]:最大的缺点是依赖O/S级别的文件锁定来进行并发访问控制;见aspfree.com/c/a/Database/…
    【解决方案4】:

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

    • 数据库有多大?
    • 您预计增长多少?
    • 除了基本的数据存储,您还需要哪些功能?
    • 预算是多少?

    这些问题的答案将帮助您选择合适的产品。那里有很多不同的。到目前为止,我对 SQL Server 和 MySQL(免费)非常满意。我会避开 Oracle,尽管我发现它使用起来很麻烦,而且通常是一堆垃圾。

    [编辑]

    根据您的上一条评论,我将使用带有高级服务http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d 的 SQL Server Express。该产品仍然免费。唯一的限制是数据库不能大于 4 GB 或类似的大小。我希望这会有所帮助。

    【讨论】:

    • 单用户。除了基本的数据存储,还需要报告服务。 [这与我试图生产的东西相似。][1] [1]:executivpro.com/inventoryimage.html。您认为用于构建该应用程序的数据库是什么?
    • @DanSogaard - 检查我上次的编辑。
    【解决方案5】:

    看看 PostgreSQL,http://www.postgresql.org/

    它是免费的、快速的,并且有 .NET 的提供程序

    【讨论】:

      【解决方案6】:

      Sql Server,那么就可以添加报表服务了,从访问的迁移路径应该很简单。您甚至可以从 Express 版本开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-03
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        • 2017-01-26
        • 1970-01-01
        相关资源
        最近更新 更多