2

我正在计划一个新的 ASP.NET 项目,该项目将成为由在不同公司工作的技术人员安装的产品。该程序将存储包括技术人员在内的员工不易访问的敏感信息。

我需要在简单直接的安装与安全性和可靠性之间取得平衡。这些天的默认数据库似乎是 C# 开发人员的 MS SQL,但一些将安装它的公司可能没有自己的 SQL 服务器,所以有人建议我使用 Microsoft JET 数据库。什么是 MS JET 是产品还是技术?数据库将是非常基本的,只有几个表,我不需要 SQL 的所有功能,是否有任何不需要像 SQL 一样安装的数据库(即简单文件)?

谢谢J

4

7 回答 7

8

如今,在 .NET 中进行无服务器数据库工作的首选方法是使用SQL Server Compact - 它具有文件中的数据库,并且不需要任何服务器进程 - 所有代码都作为简单的 DLL 直接在您的进程中运行.

不建议使用 Jet 作为通用存储后端。它曾经是一个合理的默认选择,但现在 Jet 由 Microsoft Access 团队独家拥有,并将为其目的进一步开发和定制。

于 2009-08-27T19:20:44.933 回答
3

听起来SQLite可能是一个不错的选择,非常容易安装。您可以通过身份验证、加密等方式实现独立于您的数据库平台的安全性。

于 2009-08-27T19:20:51.593 回答
3

我是 Access 和 Jet/ACE 的忠实粉丝,但对于敏感数据,Jet/ACE 并不是一个好的选择,因为它不能像服务器数据库引擎那样真正得到保护。

也就是说,许多认为他们的数据很敏感并且需要最高级别的安全技术的人只是在自欺欺人。

安全几乎总是与技术问题一样是人的问题,即使使用最安全的技术,您仍然必须信任人们才能让他们访问完成工作所需的数据。您的数据库可能完全被锁定,但如果您可以信任您的系统管理员,那么您根本就不安全。

Jet/ACE 对于特定应用可能足够安全。

而就成本/收益比而言,考虑到一切,它可能是一个更好的选择。

但是由于最初的问题是框架的并且对应用程序一无所知,我绝对建议不要使用 Jet/ACE。

于 2009-08-28T02:23:07.527 回答
0

MS Access 应用程序的默认引擎通过通用术语“Access 数据库引擎”而闻名。

“Jet”专门指 Access2007 之前的数据库访问引擎版本。值得一提的是,Access2007 的版本特定术语是“ACE”。

我不会建议是否建议使用 Access 数据库引擎,只是说它适用于用户很少的小型独立应用程序。

于 2009-08-27T19:17:39.090 回答
0

连接到 Microsoft Access (*.mdb) 数据库时使用 Microsoft JET ODBC 驱动程序。这是支持嵌入式数据库的一种方式。

我建议不要使用 Access 来支持SQLLiteSQL Server Compact Edition之类的东西。使用其中任何一个,您将获得对 SQL 语法的更强大的支持,并且很可能会提高性能。

于 2009-08-27T19:19:53.187 回答
0

Microsoft JET 数据库是 Microsoft Access 使用的技术。我强烈建议改用 SQL Server Express(在 Microsoft 免费下载 - http://www.microsoft.com/express/sql/default.aspx)之类的东西。SQL Server Express 有一些限制(最大同时连接数、2 GB 数据库大小等),但我认为它比 JET 好得多。此外,如果您的应用程序被大量使用并需要一个“严肃”的数据库,您可以随时升级到 SQL Server 的常规版本。

于 2009-08-27T19:20:22.983 回答
-1

我会远离杰特。与几乎所有其他数据库相比,它存在性能问题。此外,它使用非标准版本的 SQL (Jet-SQL),这意味着一旦您决定停止用锤子敲击自己的头部,您将很难将应用程序移植到不同的数据库。诚然,即使是 T-SQL 也不是跨数据库通用的,但 Jet-SQL确实不同。

再加上它是 Access,这意味着您每次提到它时,您的同行都会嘲笑您。这可能不完全公平,但它会发生。

于 2009-08-27T19:34:26.030 回答