3

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

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

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

4

6 回答 6

7

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

于 2010-02-18T00:57:40.023 回答
4

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

于 2010-02-18T21:24:56.517 回答
4

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

我不会考虑在生产应用程序中使用 MS-Access 或 SqlLite;太多的缺点/限制 - 请参阅所有这些内容以获取示例。

于 2010-02-18T00:52:00.770 回答
2

这个决定取决于许多因素。就像有多少并发用户将访问此应用程序(访问不允许超过 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 或类似的大小。我希望这有帮助。

于 2010-02-18T00:54:20.723 回答
1

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

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

于 2010-02-18T21:23:50.870 回答
0

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

于 2010-02-18T00:53:56.120 回答