Вопрос

Сторонний разработчик, которого пригласил мой начальник, разработал систему «лучше», чем наш веб-сайт ASP.NET + MSSQL Server 2005, который мы используем сейчас.

Вот соответствующие характеристики:

  • Excel + ODBC в качестве хранилища данных
  • Построен с использованием старой школы ASP, а не ASP.NET.

Есть ли в его решении какая-то явная проблема, не связанная с древней технологией?Потокобезопасность и т. д.?

Позвольте мне выразить это так: «Что может сказать моему боссу (который лишь частично разбирается в технических вопросах) выбросить этот код из воды?»

Спасибо,

Мстительный разработчик :)

Это было полезно?

Решение

Excel никогда не следует использовать в качестве хранилища данных.

  1. Это не база данных

  2. Он вообще не будет обрабатывать несколько пользователей одновременно.

  3. Нет поддержки транзакций, поэтому, если в середине вызова odbc произойдет ошибка, файл Excel может оказаться уничтоженным.(Даже доступ был бы лучше, чем использование Excel, и это мало что говорит)

  4. Excel — это электронная таблица, предназначенная для анализа данных, а не для их хранения.

Другие советы

Прямо от Microsoft: http://support.microsoft.com/kb/195951

ВАЖНЫЙ:Хотя приложения ASP/ADO поддерживают многопользовательский доступ, электронная таблица Excel этого не делает.Следовательно, этот метод запроса и обновления информации не поддерживает одновременный многопользовательский доступ.

Эммм....ему не хватает масштабируемости:У вас может быть только несколько пользователей.Важны ли данные?

Аллен, помимо тех серьезных технических причин, которые здесь проявились, я думаю, вам нужно спросить себя: «Почему босс сделал это?»

Восприятие — это реальность, и если ваш начальник лишь частично технарен, то чисто технические рассуждения могут не пройти.

Помимо явных архитектурных недостатков, есть ли еще какие-нибудь функциональность в этом монстре, который делает его более привлекательным для вашего босса?Обычно люди не делают глупостей намеренно, вам может быть полезно подумать, откуда исходит ваш начальник, прежде чем приступить к делу. КЛМ.

Проблемы синхронизации, связанные с отдельным хранилищем данных xls и сервером sql 2005?На нашем сервере IIS классические страницы asp запрещены по умолчанию.Может быть, это знак, лол.

А как насчет ужасной производительности, поскольку Excel не предназначен для использования в качестве базы данных?Скажите своему начальнику, что Excel — это даже не однопользовательская база данных (это то, что такое MS Access), не говоря уже о многопользовательской базе данных, предназначенной для высокой одновременной производительности.

И, конечно же, используя чистый ASP, вы теряете доступ ко всем библиотекам .NET framework (на что, конечно же, концентрируются все разработчики библиотек в экосистеме MS).Но вы спросили об одной причине, и первая лучше.

Я бы сказал, что это неправильные инструменты для работы (при условии, что это так в вашем случае).Это все равно, что использовать отвертку вместо молотка.Для одного ногтя это может обойтись большим количеством пота и слез.Для реального проекта это, скорее всего, обречено.

Я бы похвалился инструментами, с которыми вы знакомы — насколько они лучше с точки зрения производительности, безопасности, обслуживания (особенно.стоимость технического обслуживания).

Вы могли бы сказать что-то вроде того, что он платит кому-то за написание нового приложения с использованием технологии десятилетней давности, которая, возможно, больше не будет поддерживаться (если она все еще поддерживается...).

Эммм... лимит строк?

Вот что вы можете ему сказать:Напомните ему о кошмарах, которые случаются, когда двум или более людям приходится редактировать одну и ту же таблицу одновременно.Теперь попросите его представить это, умноженное на сто человек, которые не могут позвонить друг другу и сказать им: «Закройте таблицу, чтобы я мог ее обновить». Это как это будет.

Будет ли электронная таблица Excel правильно обрабатывать одновременные транзакции?Он не был предназначен для такого рода вещей, и я бы не стал возлагать на него ответственность, если бы он сделал что-то плохое (например, разрешил одновременное подключение только одного ODBC-соединения или неправильно заблокировал одновременные обновления).

Этот файл Excel будет быстро поврежден, и многие люди одновременно захотят его использовать.Масштабируемость Excel как внутреннего хранилища данных практически отсутствует.Ему достаточно сложно поддерживать целостность данных с помощью встроенной функции общей книги...

Кстати, это третье лицо родственник вашего босса???Даа...

Древние технологии сами по себе представляют собой вопиющую проблему.Ты будешь рядом навсегда?Боссу будет очень сложно найти новых разработчиков для поддержания чего-то подобного.Мир технологий шагнул вперед.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top