Ms Access를 사용하고 있고 ADO를 사용하여 작업을 하고 있습니다.
필드명이나 기타 정보를 노출 시키지 않기 위하여 데이터 베이스를 암호화를 하려고 하는데
코딩으로 어떻게 처리하는지 알수가 없군요.
새로운 사용자들은 적용을 하는데 문제가 없습니다.
기존 사용자가 사용하고 있는 테이터베이스도 암호화를 해 줘야 하는데
어떻게 하면 되는지?
테이터 베이스 전체를 변환작업을 해줘야 하는지?
아니면 간단한 방법이 있는지 ?
알고 계신면 부탁합니다.
Procedure TfrmAssetGather.udpDBCompact;
var
ole:variant;
cstring1, cstring2, ImsiUserDBName, NewUserDBName : String;
begin
try
NewUserDBName := 'New.mdb';
cstring1 := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ orgDBName
+ ';User ID=;Jet OLEDB:Database Password='+ pwd;
cstring2 := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ NewUserDBName
+ ';User ID=;Jet OLEDB:Database Password='+pwd
+ ';Jet OLEDB:Encrypt Database=True';
ole := CreateOleObject('JRO.jetEngine');
ole.CompactDataBase(cstring1, cstring2);
except
on e: exception do
begin
showmessage('exception : ' + e.Message);
ole := Unassigned;
exit;
end;
end;
ole := Unassigned;
<!--CodeE-->