델파이로 MDB 데이터베이스 만들기
델파이로 MDB 데이터베이스 만들기
uses에 comobj 추가
// 데이터베이스 생성(MDB)
function CreateDB(const sPath: string;
var sErr: string): Boolean;
const
csConnStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="%s"';
var
oleCatalog: OleVariant;
sConnStr: string;
begin
Result := false;
sConnStr := Format(csConnStr, [sPath]);
try
try
oleCatalog := CreateOleObject('ADOX.Catalog');
oleCatalog.Create(sConnStr);
finally
oleCatalog := Unassigned;
end;
Result := true;
except
on Err:Exception do sErr := Err.Message;
end;
end;
MDB 패스워드 설정하기
MDB 패스워드 변경하기
MDB 최적화하기
// 패스워드 설정/변경
// 데이터베이스 최적화하기
function ChangePWD(const sPath, sOldPass, sNewPass: string;
var sErr: string): Boolean;
const
CONN_STR = 'Data Source="%s";Jet OLEDB:Database Password=%s';
var
ovEngine: OleVariant;
sBakPath: string;
sStr1, sStr2: string;
begin
Result := false;
// 백업파일 패스
sBakPath := ChangeFileExt(sPath, '.bak');
// 기존 백업 파일 삭제
DeleteFile(sBakPath);
sStr1 := Format(CONN_STR, [sPath, sOldPass]);
sStr2 := Format(CONN_STR, [sBakPath, sNewPass]);
try
try
ovEngine := CreateOleObject('JRO.JetEngine');
// 최적화기능을 이용한 패스워드 설정
ovEngine.CompactDatabase(sStr1, sStr2);
// 기존 데이터 삭제
DeleteFile(sPath);
RenameFile(sBakPath, sPath);
finally
ovEngine := Unassigned;
end;
Result := true;
except
on Err:Exception do sErr := Err.Message;
end;
end;
'IT-개발,DB' 카테고리의 다른 글
[개발/delph] BDE 에러코드 리스트 (0) | 2012.12.22 |
---|---|
[개발/DB] MDB 제어 (0) | 2012.12.06 |
[개발/NI] NI DAQ 에서 Digital 신호 전송시 Timing 설정 (0) | 2012.12.03 |
[개발/델파이] Callback 함수 구현 (0) | 2012.11.30 |
[프로그래밍/기업] 익스트림 프로그래밍 (XP)의 '명암'(2) (0) | 2012.11.27 |
댓글