Форум: "Начинающим";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];
ВнизЗапаковать надо файл Найти похожие ветки
← →
Человек (2007-08-29 09:58) [0]Есть база данных. Надо бы её как-то запаковать, а при работе проги распаковывать и работать с ней. Подскажите, как это сделать?
← →
alshtam © (2007-08-29 10:00) [1]статья из "Delphi Worl 6" сам не проверял
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Упаковка таблиц Paradox & dBase
Процедура упаковки таблиц Paradox & dBase.
В процедуру передается TTable c любым состоянием свойства Active.
Состояние Active после выполнения процедуры остается предыдущим.
Процедура предусматривает отключение всех визуальных DbControls,
с последующим их подключением.
Зависимости: Bde, Db, DbTables
Автор: Александр, dbwork@kor.kes.ru, Кореновск
Copyright: Из исходного кода Database Workshop 4.12 (c)2002 Degisy Software
Дата: 23 мая 2002 г.
***************************************************** }
procedure Bde_PackTable(DataSet: TDataSet);
var
hDb: hDBIDb;
Tbl: TTable;
Props: CURProps;
CrDesc: CRTblDesc;
Save: Boolean;
begin
if (DataSet is TTable) then
begin
Tbl := TTable(DataSet);
Save := Tbl.Active;
Tbl.Active := True;
try
Check(DbiGetCursorProps(Tbl.Handle, Props));
if (Props.szTableType = szPARADOX) then
begin
FillChar(CrDesc, SizeOf(CRTblDesc), 0);
StrCopy(CrDesc.szTblName, Props.szName);
StrCopy(CrDesc.szTblType, Props.szTableType);
CrDesc.bPack := True;
Check(DbiGetObjFromObj(hDBIObj(Tbl.Handle), objDATABASE, hDBIObj(hDb)));
Tbl.DisableControls;
Tbl.Active := False;
Check(DbiDoRestructure(hDb, 1, @CrDesc, nil, nil, nil, False));
end
else if (Props.szTableType = szDBASE) then
begin
Tbl.Active := True;
Check(DbiPackTable(Tbl.DBHandle, Tbl.Handle, nil, szDBASE, True));
end;
finally
Tbl.Active := Save;
Tbl.EnableControls;
end;
end;
end;
Пример использования:
Bde_PackTable(Table1);
← →
Сергей М. © (2007-08-29 10:02) [2]
> как это сделать?
Задействовать реализацию любого подходящего алгоритма компрессии/декомпрессии.
← →
Человек (2007-08-29 10:03) [3]
> alshtam © (29.08.07 10:00) [1]
У меня Access"овская база данных
← →
Sergey13 © (2007-08-29 10:08) [4]> [0] Человек (29.08.07 09:58)
> Подскажите, как это сделать?
Я бы очень подумал прежде чем делать это.
А как сделать - вызвать ахиватор например.
← →
Человек (2007-08-29 10:10) [5]
> Sergey13 © (29.08.07 10:08) [4]
> Я бы очень подумал прежде чем делать это.
А почему нет?
← →
Sergey13 © (2007-08-29 10:23) [6]> [5] Человек (29.08.07 10:10)
> А почему нет?
При упаковке/распаковке происходит сбой и вся база (или результаты сеанса работы) идет лесом.
Да и смысл то какой в этом? Место на диске экономищь?
← →
Человек (2007-08-29 10:27) [7]
> Sergey13 © (29.08.07 10:23) [6]
</I
> При упаковке/распаковке происходит сбой и вся база (или
> результаты сеанса работы) идет лесом.Да и смысл то какой
> в этом? Место на диске экономищь?
>
Не, не место экономлю, просто иногда всякие типы хотят залезть куда не надо, а если чо-нить поменять в этой базе, то и прога работать не будет. Вернее будет, но криво. А если запаковать, то вероятность того, что её испортят уменьшается (наверное)
← →
Сергей М. © (2007-08-29 10:31) [8]
> Человек (29.08.07 10:27) [7]
> типы хотят залезть куда не надо
Ну и зачем "паковать" базу ?
Просто шифруй записываемые в нее данные, а при чтении расшифровывай.
← →
Sergey13 © (2007-08-29 10:33) [9]> [7] Человек (29.08.07 10:27)
Если заниматься безопасностью и разграничением прав доступа, то не стоит брать настольную СУБД в качестве основного звена системы.
Юзер просто сотрет твой файл и все ваапще перестанет фунциклировать.
← →
sniknik © (2007-08-29 10:43) [10]> Просто шифруй записываемые в нее данные, а при чтении расшифровывай.
ага, а "типы" это админ и служба техподдержки, пытаются выяснить "а чего это программа не работает?".
они тебе спасибо скажут. (не сейчас конечно, а когда/если вы на работу устроитесь и коммерческие проги начнёте писать)
← →
Сергей М. © (2007-08-29 10:48) [11]
> "типы" это админ и служба техподдержки, пытаются выяснить
> "а чего это программа не работает?".
Почему не работает ? Работает).. Кто, спрашивается, за нее выполнит шифрацию/дешифрацию ? Никто)
← →
Человек (2007-08-29 10:53) [12]Тогда поменяю вопрос, как зашифровать базу?
← →
Вася Правильный (2007-08-29 10:54) [13]
> alshtam © (29.08.07 10:00) [1]
запаковать файл и упаковать таблицу БД - это как теплое и кислое, разных категорий сущности
← →
Евгений Р. (2007-08-29 10:55) [14]Можно такую БД держать на флешке. А то и программу.
← →
Человек (2007-08-29 10:59) [15]
> Евгений Р. (29.08.07 10:55) [14]
> Можно такую БД держать на флешке. А то и программу.
Нафига?
← →
Anatoly Podgoretsky © (2007-08-29 11:06) [16]Надо переходить на другую базу, например Absolute DB
Там все есть и полностью embeded
← →
Sergey13 © (2007-08-29 11:07) [17]> [12] Человек (29.08.07 10:53)
А ты уверен, что твоя БД стоит того? Я тебе повторяю - ты ее зашифруешь, а юзер ее в сердцах просто сотрет. 8-)
← →
Anatoly Podgoretsky © (2007-08-29 11:13) [18]
> А если запаковать, то вероятность того, что её испортят
> уменьшается (наверное)
Увеличивается
← →
Человек (2007-08-29 11:52) [19]
> Sergey13 © (29.08.07 11:07) [17]
> > [12] Человек (29.08.07 10:53)А ты уверен, что твоя БД
> стоит того? Я тебе повторяю - ты ее зашифруешь, а юзер ее
> в сердцах просто сотрет. 8-)
Не, если он сотрёт, то это его проблему. Но всё же бывают ламы, которые лазют везде и всюду, открывают, меняют что-то, а чо они делают даже сами не понимают. Главное чтобы юзер не мог так просто открыть базу. Тогда он её и трогать не станет.
← →
Сергей М. © (2007-08-29 12:00) [20]
> Главное чтобы юзер не мог так просто открыть базу
Ну так просто поставь базу на пароль доступа, благо MDB дает такую возможность, и всех делов)
Пароль будет знать только твоя программа, штатными средствами MS Access без знания этого пароля доступ к базе будет запрещен.
Простому юзеру/ламеру ты тем самым дашь по рукам, ну а от "продвинутых" ты свою базу при любом раскладе вряд ли спасешь)
← →
homm © (2007-08-29 12:02) [21]> Не, не место экономлю,
Тогда не зажать а зашифровать.
> а если чо-нить поменять в этой базе, то и прога работать не будет.
А что, это разве не проблема тех типов? Не буут менять — будет работать.
> А если запаковать, то вероятность того, что её испортят уменьшается (наверное)
Сомнительно весьма.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.046 c