Форум: "Базы";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
ВнизAccess, ADO, Delphi и шифрация Найти похожие ветки
← →
wild_arg © (2006-08-05 14:45) [0]Есть база данных на Access и приложение на Delphi, которое посредством ADO цепляется к данным и выводит некую таблицу. Для предотвращения выуживания данных из базы другими программами или запросами - строковые поля в таблице заксорены (через Xor наложен пароль). В самом Access создал модуль и функцию в нем, которая декодирует данные. Из Access все отлично - пишешь
select XorFunction(Table1.Field1, "password") from Table1
и все выводится. В дельфийском же проекте такой подход не прокатывает. Полазил по нету - пишут, что действительно Jet движок не позволяет такое вытворять. Так что же делать?
Есть ли способ, допустим сначала получить закодированные данные в ADODataSet, а потом их обработать? Или может вообще как-то по-другому кодировать?
Можно, конечно, перекодировать непосредственно при выводе, но тут еще одна проблема - данные необходимо перед выводом отсортировать. Подскажите решение, плз.
← →
Dok (2006-08-05 14:52) [1]
> но тут еще одна проблема - данные необходимо перед выводом
> отсортировать. Подскажите решение, плз.
перекодируй на клиенте и суй это все TClientDataSet - в нем можно локльно сортировать. А зачем выбран Access, если нужна такая защита? Почему нельзя заюзать более нормальные СУБД?
← →
wild_arg © (2006-08-05 14:58) [2]выбор бд - не мой :)
а что еще посоветуешь из СУБД? только надо,что-нить легкое. Это все для информационного справочника, который на компакте будет размещаться.
Не скажешь же пользователю, что для просмотра нашего справочника установите у себя MS SQL Server
← →
Dok (2006-08-05 15:03) [3]
> Не скажешь же пользователю, что для просмотра нашего справочника
> установите у себя MS SQL Server
Нормальная ситуация. MSDE - ограниченный MS SQL.
Firebird embedded - ставить не надо, длл идет с прогой. Там можешь через UDF расшифровывать.
← →
wild_arg © (2006-08-05 15:05) [4]пасиб, попробую
← →
wild_arg © (2006-08-05 15:06) [5]А через серверные компоненты в Delphi не пробовали работать с Access?
Может через них получится?
← →
Dok (2006-08-05 15:10) [6]
> А через серверные компоненты в Delphi не пробовали работать
> с Access?
нет таких по определению. "СУБД" Акцес не серверная.
← →
Sam Stone © (2006-08-06 16:05) [7]На настроить пароли на коннект к базе и создать пользователей с разными правами (если надо) не подходит?
← →
Anatoly Podgoretsky © (2006-08-06 18:38) [8]wild_arg © (05.08.06 14:58) [2]
Почему бы тогда не использовать Absolute Database, полностью соответствует заявленым требования и не требует никаких библиотек. Только ехе и база и все на СД
← →
saxon (2006-08-07 11:26) [9]
> Из Access все отлично - пишешь
> select XorFunction(Table1.Field1, "password") from Table1
>
Почему не написать Query в Access, а потом юзать как ХП, (при этом все будет делаться в Access)?
← →
sniknik © (2006-08-07 11:44) [10]> Почему не написать Query в Access, а потом юзать как ХП, (при этом все будет делаться в Access)?
потому, что запрос выполняет не аксесс, а jet. т.е. работать это не будет. (если конечно не через OLE, т.е. сам аксесс поднимать и в нем выполнять, но это уже не ADO)
> Из Access все отлично - пишешь
> select XorFunction(Table1.Field1, "password") from Table1
вот это аксесс выполнит какselect Field1 from Table1
а XorFunction его личная будет использовано для форматирования вывода. (можно проверить кому хочется т.к. это теоритически. для проверки создать базу adp с конектом к mssql выполнить подобный запрос с самописной функцией и посмотреть реальный запрос профайлером, что реально выполняется...)
это к тому, что функции форматирования/вывода в дельфе тоже написать отобразить по ним не проблема (надеюсь ;о)) просто они не совмещены с SQL, т.е. дельфи в отличие от ассесса сама синтаксис не разбирает... это все нам оставлено. именно это и называтся программированием... ;о)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c