Доступ к базе данных
Если вам нужен тонкий клиент, то, вероятно, лучше избегать прямого доступа к базе данных из клиента.
Основная проблема заключается в том, что вы будете сильно зависеть от конкретной сетевой архитектуры, и ваше приложение ASP.Net и HTA будут сильно зависеть от базы данных.
Вместо этого я бы предпочел разорвать зависимость от прямой линии прямой видимости до БД и получить данные для обработки сервером.
Это имеет несколько преимуществ:
для многих небольших изменений в БД вам, вероятно, потребуется обновить приложение ASP.
если вам когда-нибудь понадобится, чтобы ваше клиентское приложение работало через Интернет (скажем, из-за того, что некоторые пользователи собираются на стороннее собрание, им нужно работать с работы или ваша компания открывает новый филиал), у вас не будет переписать свой тонкий клиент.
вы сохраняете лучший контроль над доступом к ресурсам: только позволяйте приложению ASP взаимодействовать с базой данных и фильтровать то, что входит / выходит из нее.
Это избавит вас от необходимости реализовывать всю безопасность на клиенте: приложение ASP становится хранителем базы данных. Это гораздо лучший способ защиты информации, и он дает вам гораздо больше контроля.
Отчетность
Для создания отчетов я бы снова использовал сервер, а не реализовывал сложные возможности отчетов в самом клиенте.
Проблема в том, что вы всегда будете ограничены в клиенте, если используете HTA и не хотите начинать устанавливать зависимости на компьютере каждого пользователя.
Вы в конечном итоге построите клиент толщиной в кратчайшие сроки ...
Если вы используете ASP.Net, есть множество действительно хороших инструментов отчетности, которые значительно облегчат вашу жизнь и позволят вашим пользователям получать хорошие отчеты в Excel, Word, PDF и т. Д. Без необходимости самостоятельно кодировать эти функции. .
С Crystal Reports все в порядке, но есть лучшие и более простые альтернативы, например, механизм Developer Express Report довольно прост в использовании.