LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Работа с удален...
 Работа с удаленной базой даных
 
 02.10.2011 12:41:19
Admin1
731 сообщения
1-ый


Работа с удаленной базой даных
 Измененный Admin1  на 02.10.2011 12:48:27)

Какой вариант предпочтительней при разработке интерфейса базы данных, связанного с SQL Server. Я вижу два варианта. Это adp проект или mdb + adodb.recordset, когда открывается соединение и форма привязывается к рекорсету: Например, set me.recordset = rst

 02.10.2011 12:42:39
Admin1
731 сообщения
1-ый


Re: Работа с удаленной базой
 Измененный Admin1  на 02.10.2011 12:48:53)

А) Связка mdb+ado в том виде как Вы планируете работать кажется мне очень трудоемкой в плане разработки интерфейса

Б) adp проект - это хорошее решение, но и у него есть недостатки, т.к. возможно подключение только 1 базы SQL, да и объекты все будут открыты в adp проекте. А защитить файл adp и ade сложно.

В) Перспективным решением мне кажется будет связка mdb + привязанные таблицы. Существует несколько вариантов: таблицы Access (dao соединение), таблицы и запросы SQL Server (ODBC драйвер или OLEDB соединение), Таблицы MySQL (ODBC драйвер), Таблицы Excel (OLEDB) и т.п.

• Плюсы. Таким образом, из одного интерфейса базы данных мы можем организовать соединение с несколькими разнородными - гетерогенными базами данных и использовать все достоинства mdb проекта: конструктор запросов, функции VBA в запросах, перекрестные запросы и т.п. Привязка источников данных к формам ведется обычным способом.

• О подключении к серверам. Названия таблиц и строки соединения для интерфейса храним в отдельном файле конфигурации Config.mdb и шифруем строки соединения, чтобы нельзя было менять пользователю названия таблиц добавляем хэш MD5 для некоторых строк, например, так как сделано это для паролей: http://www.leadersoft.ru/Rus/Market/Db/Default.aspx?go=product&pid=409 . Можно данные хранить и в XML файле. Кому что больше нравится.

• Методы работы. Проект разрабатывается стандартным способом на Microsoft Access + привязка к таблицам Access. Далее когда решение создано перегоняем таблицы на SQL Server или My SQL. Есть бесплатные программы по этой теме. Затраты по времени 2-3 минуты:
http://www.bullzip.com/products/a2m/info.php
http://www.bullzip.com/products/a2s/info.php

• Запуск программы. При запуске базы данных пользователь выбирает вариант работы с Access, SQL Server, My SQL и далее нужная привязка таблиц создается автоматически в интерфейсе и привязанных библиотеках.

• Детали. Самое главное надо разработать интерфейс администратора, который будет быстро создавать или удалять привязку к таблицам через odbc, oledb, dao и сохранять в файле конфигурации. Такой интерфейс уже есть.

• О скорости. Если таблицы имеют много записей, то можно фильтры сохранять в таблице на сервере (например, по дате записи) для каждого пользователя и привязывать к ним запросы. Сами запросы легко привязать через ODBC или OLEDB при открытии базы данных и использовать как часть таблицы.

• О процедурах. Использовать процедуры с параметрами как привязанные таблицы, не получится. В этом случае, придется использовать adodb.recordset и привязывать его к форме. Такие варианты - более сложные в плане разработки интерфейса, переносимость проекта на другую базу данных ухудшается. Наверное, их не нужно использовать очень часто.

 02.10.2011 22:01:39
Admin1
731 сообщения
1-ый


Re: Работа с удаленной базой
Да, идет откат назад к обычным проектам mdb, т.к. еще не все было выяснено при проектировании линкованных таблиц типа ODBC или OLEDB. Никто так далеко не забирался. Если посмотреть на Visial Studio 2010 NET, то там такие же строки соединения, значит все управляется стандартным способом, через набор драйверов из dll библиотек.
 
1. О скорости. Скорость нормальная, может быть даже и выше где-то. Возможно скоро протестирую на удаленных офисах. С другой стороны, если фильтровать таблицы на сервере через запросы, то скорость будет зависеть от числа прочитанных записей.
 
2. Об удобстве работы. Пишем для Access, а потом переводим быстро на любую базу SQL Server или бесплатную типа MySQL (40% сайтов на ней сидят)
 
3. О таблицах. Таблицы можно скрыть от просмотра, если открыть их через файл рабочих групп, поставить защиту от шифта или привязывать в момент открытия формы. Сейчас это не так важно. Если нужна надежная защита, то необходимо просто прописать права пользователям на SQL сервере на таблицы, запросы и другие объекты. Это лучшая защита, чем использовать mdb+ado, специалист может перехватить запросы к серверу, если они не зашифрованы.
 
4. О запросах. В mdb проектах можно создавать запросы с использованием функций vba, например, для формирования узлов деревьев, сумм прописью и т.п.
 
5. Об adp проектах. Они в 2007 и 2010 версиях офиса его не дорабатывали, говорят, что пытаются кардинально переделать в новом офисе. Ничего не понятно.
  Программирование  Microsoft Access. Файлы mdb и accdb  Работа с удален...
ПоискПоиск  Список форумовСписок форумов  
right