Использование доступа MS как [закрытый] бэкенд приложения.NET

5
задан George Stocker 5 January 2010 в 14:03
поделиться

6 ответов

С чего начать?

  1. Выберите среду разработки (я бы предложил Visual Studio 2008 Express или Professional, в зависимости от бюджета и необходимости возможностей версии Professional)
  2. Даже для одного разработчика: выберите систему управления версиями !!!! (Subversion имеет лишь небольшие административные издержки, штраф для одного разработчика)
  3. Выберите версию .NET Framework (3.5 подойдет, если только ваше приложение не должно работать на Win2K; для Win2K используйте .NET 2.0)
  4. Выберите зрелый язык программирования (C# или VB. NET, что вам или вашему боссу нравится больше всего)
  5. Выберите технологию графического интерфейса (для одного разработчика я бы предложил использовать WinForms, если только вы не собираетесь писать веб-приложение или утилиту командной строки)
  6. Выберите зрелую технологию доступа к БД (ADO.NET работает для многих вещей, если только у вас нет очень высоких требований к производительности, которые лучше подходят для старых ADO/OleDB или DAO)
  7. EDIT: используйте Google, чтобы найти несколько примеров входа в соответствии с выбранной технологией, или купите себе книгу. Например, здесь для C# используется OLE DB для доступа к БД MS Access. Этот сайт Access также является хорошей отправной точкой.
  8. EDIT2: познакомьтесь с "Microsoft Access" (офисным приложением). Не потому, что вы собираетесь использовать его, как обычный пользователь, но, скорее всего, он понадобится вам для административных целей. И прилагаемая документация по VBA и SQL иногда будет полезна, даже если Вы кодируете на C# или VB.NET
  9. EDIT3: для создания отчетов выберите технологию создания отчетов. Здесь есть множество возможностей, в зависимости от Ваших потребностей, навыков и/или бюджета, например

    • Простые ASCII или CSV отчеты (закодированные вручную)
    • HTML или XML отчеты
    • с использованием Excel в качестве генератора отчетов
    • с использованием PDF библиотеки типа Report.NET
    • с использованием стороннего инструмента, такого как Crystal Reports

    Вы найдете много полезных ссылок, если Вы дадите "генерацию отчетов". net" в Google, например этот.

И наконец: вернитесь к SO и задайте более конкретные вопросы, когда они у Вас появятся.

Могут быть и другие ограничения, в зависимости от того, какой код уже существует в Вашей организации. И я бы избегал таких технологий как F#, WPF или Linq к Entities.

.
13
ответ дан 18 December 2019 в 06:50
поделиться

Для доступа к базе данных Access, Вы можете посмотреть на NHibernate? Насколько я знаю, поддерживает Microsoft Access, и использование подобной библиотеки, возможно, облегчит вам задачу, если вы собираетесь позже перенести данные в какую-нибудь другую базу данных.

.
0
ответ дан 18 December 2019 в 06:50
поделиться

Если вы уже знакомы с языком .NET и MS Access, то я бы посоветовал начать с разработки очень простой базы данных MS Access и написать небольшое консольное .NET-приложение, которое подключается к этой базе данных и выполняет некоторые основные функции, например, запрос/вставка/удаление/обновление. Тогда это всего лишь случай сборки по кусочкам этой части, введения графических интерфейсов/раздельных libs (dlls) и т.д.

К сожалению для вас .NET Linq к SQL (ORM) не поддерживает базы данных MS Access, поэтому вам придется разрабатывать свои Бизнес-объекты с нуля (не всегда плохо!).

Вот хорошая отправная точка MS-приложение на C#.

.
0
ответ дан 18 December 2019 в 06:50
поделиться

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

Рассмотрение базы данных:

Единственное, на что следует обратить внимание при использовании MS Access в качестве back-end базы данных, это:

  1. Масштабируемость - MS Access не масштаб очень хорошо и подходит только для небольшого числа пользователей *EDIT: Цифры варьируются в зависимости от типа выполняемых пользователями действий - для решения по созданию отчетов сама компания Microsoft предлагает максимум до ~100 одновременных пользователей - в этом техническом документе содержится больше информации *
  2. Безопасность - MS Access не предлагает такие же сложные уровни. безопасности, в которой вы найдете другие продукты для работы с базами данных (SQL Server, Oracle, MySQL)
  3. SQL Синтаксис - есть некоторые тонкие различия в том, как вы писать определённые виды запросов для MS Access
  4. Other Limitations - MS Access не поддерживает хранимые процедуры, поэтому весь ваш код доступа к данным должен будет использовать встроенные SQL-команды (command.Type = CommandType.Text).
    1. Максимальный размер базы данных, поддерживаемый Microsoft Access, составляет 2 ГБ - следите за ростом базы данных

Расчеты по дизайну:

  1. Имеется ли уже существующая база данных MS Access с некоторыми пользовательскими формами и кодовыми модулями? Если да, то вы можете использовать их в качестве основы для вашего приложения - MS Access использует Visual Basic for Applications (VBA), так как это язык программирования, и нет никаких инструментов/утилит, которые, как я знаю, портируют VBA на VB.Net

  2. Существуют ли подобные приложения в других местах, которые могли бы помочь вам в разработке?

  3. Держите код доступа к данным подальше от ваших форм - постарайтесь держать код доступа к данным в отдельном классе/DLL, чтобы было легче поддерживать

    • EDIT: как другие предлагали, постарайтесь избегать разбросанных по всему пользовательскому интерфейсу экземпляров подключения ADO.Net и объектов команд - поместите весь код подключения к БД в один класс/DLL, чтобы было легче исправлять/сохранять/заменять. Также я бы предложил по той же причине поместить все операторы SQL-запросов в отдельный класс или модуль. *
  4. Следуйте любым внутренним инструкциям, которые вы или другие до вас создали.

  5. Имейте в виду сопровождаемость - кто-то после вас, возможно, должен будет внести изменения. Используйте комментарии в коде и назовите свои объекты (формы/переменные/названия функций) разумными именами

  6. Делайте регулярные резервные копии своего кода - ежедневно помещайте копию на сетевой или USB диск

6
ответ дан 18 December 2019 в 06:50
поделиться

Здесь есть много хороших советов, все, что я хотел бы добавить, это обязательно построить все ваши классы доступа к данным и модификации за четко определенным интерфейсом(ами). Я уверен, что настанет время, когда это приложение вырастет MS Access, а наличие хорошо определенных интерфейсов упростит обновление до другой базы данных.

0
ответ дан 18 December 2019 в 06:50
поделиться
[

] Один совет - инкапсулировать весь код, относящийся к доступу, в рамках одного класса. Класс должен, по крайней мере, иметь возможность: [

]. [
    ] [
  • ] найдите файл доступа к файлу .mdb [
  • ]. [
  • ] создайте и откройте все объекты [] OleDbConnection []. [
      ] [
    • ] [] Очень важно, чтобы все соединения гарантированно закрывались, поэтому их использование в блоке [] с использованием [] является очень хорошей идеей [] [
    • ]. [
    ][
  • ] [
  • ](Возможно) построение и выполнение всех OleDbCommands (удаление db-специфичной логики из потребляющих компонентов - они должны уметь делать запросы данных и извлекать результаты при прозрачном создании Connection & Command и т.д.[
  • ]) [
]
4
ответ дан 18 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: