我老板聘请的第三方开发人员设计了一个比我们现在使用的 ASP.NET + MSSQL Server 2005 网站“更好”的系统。

以下是相关规格:

  • Excel + ODBC作为数据存储
  • 使用旧式 ASP 构建,而不是 ASP.NET

他的解决方案与古老的技术相比是否存在任何明显的问题?线程安全等?

让我这样说吧,“什么可以告诉我的老板(他只是部分技术人员)把这段代码从水中剔除?”

谢谢你,

报复性开发者:)

有帮助吗?

解决方案

Excel 永远不应该用作数据存储,

  1. 它不是数据库

  2. 它根本不会同时处理多个用户

  3. 不支持事务,因此如果在 odbc 调用过程中发生错误,excel 文件最终可能会被丢弃。(甚至访问会比使用 Excel 更好,这并没有说明太多)

  4. Excel 是一个电子表格,旨在分析数据,而不是存储数据。

其他提示

直接来自微软: http://support.microsoft.com/kb/195951

重要的:尽管 ASP/ADO 应用程序支持多用户访问,但 Excel 电子表格不支持。因此,这种查询和更新信息的方法不支持多用户并发访问。

嗯……它缺乏可扩展性:您只能拥有几个用户。数据重要吗?

阿兰,以及这里出现的重大技术原因,我认为你需要问自己“老板为什么这样做?”

感知就是现实,如果你的老板只懂部分技术,那么纯粹的技术推理可能无法通过。

除了明显的架构弱点之外,还有一些 功能性 在这个怪物中,它对你的老板更有吸引力?一般来说,人们不会故意做蠢事,在你做出决定之前考虑一下你的老板来自哪里可能会对你很有帮助。 CLM.

处理单独的 xls 数据存储和 sql server 2005 的同步问题?在我们的IIS服务器上,默认情况下禁止经典的asp页面。也许这是一个标志,哈哈。

既然 Excel 不是设计来用作数据库的,那么糟糕的性能又如何呢?告诉你的老板 Excel 甚至不是单用户数据库(MS Access 就是这样),更不用说是专为高并发性能而设计的多用户数据库了。

当然,通过使用纯 ASP,您将无法访问所有 .NET 框架库(这当然是 MS 生态系统中所有库开发人员所关注的重点)。但你问了一个原因,第一个更好。

我会坚持认为这些工具不适合这项工作(假设它们适合您的情况)。这就像使用螺丝刀作为锤子一样。为了一颗钉子,可能需要付出大量的汗水和泪水。对于一个真正的项目来说,这很可能是注定的。

我会夸耀你所熟悉的工具——这些工具在性能、安全性、维护方面(尤其是在性能、安全性、维护方面)要好得多。维护费用)。

你可以这样说,比如他花钱请人用十年前的技术编写一个新的应用程序,而该技术可能不会支持太久(如果仍然是......)。

嗯...行数限制?

您可以告诉他以下内容:提醒他当两个或更多人需要同时编辑同一个电子表格时发生的噩梦。现在告诉他想象乘以一百个人,他们无法互相打电话告诉他们“关闭电子表格,以便我可以更新它”。 那是 会是什么样子。

Excel 电子表格是否能够正确处理并发事务?它不是为此类事情而设计的,如果它做了坏事(例如一次只允许一个 ODBC 连接,或者没有正确锁定并发更新),我不会追究它的责任。

当很多人同时访问该 Excel 文件时,该文件很快就会被损坏。Excel 作为后端数据存储的可扩展性几乎不存在。它很难通过其本机共享工作簿功能来保持数据完整性......

顺便说一句-这个第三方是你老板的亲戚吗???哎呀...

这项古老的技术本身就是一个明显的问题。你会永远在身边吗?老板很难找到新的开发人员来维护这样的东西。科技世界已经向前发展。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top