Текущий архив: 2006.10.08;
Скачать: CL | DM;
Вниз
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;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.052 c