안녕하세요..
제목처럼.. Excel 화일을 datapump를 이용하여 Access 화일인 mdb로 만들고자 합니다.
Excel 화일
위치 : C:\Excel
이름 : source.xls
Alias : ExcelSrc
Access 화일
위치 : c:\Access
이름 : target.mdb
Alias : AccessTgt
위와 같이 Alias를 설정해 주었습니다. Access 화일과 Excel 화일 모두 보안을 위한 ID, Password 등은 전혀 없습니다.
이제 Datapump를 이용해서 access로 변환하고자 Datapump를 실행했습니다.
일단 소스를 선택하라고 하네요. 그래서 엑셀 Alias인 ExcelSrc를 선택하고 "Next"를 눌렀습니다.
그랬더니 갑자기 아이디와 비번을 넣으라는 창이 나오는군요..
위에서 언급했듯이 분명히 저는 어떤 아이디나 비번을 설정한 적이 없거든요..
OS는 XP 구요.. OS와는 무관할꺼 같으나 혹시나 해서 올려봅니다..
어떻게 해야 하나요..?
아, 그리고.. Excel 화일을 Access로 만들 때, Excel과 같은 Schema를 가진 빈 테이블도 하나 만들어 줘야 하는지요..?
아시는 분께서는 쪼금만 도와주세요..~~ 부탁드립니다..
기본적으로 DataPump로 는 제가 안써봐서...잘 모르겠고..
엑셀파을을 엑세스파일인 MDB형태로 만들려고 하시는것 같군요...
일단 순서을 말씀해 드릴께요..
엑셀파일을 그리드상 불러드린후 그리드에서 엑세스 디비로 변환합니다.
엑셀파일을 바로 엑세스 파일로 변환할수 있는지는 잘 모르겠네여..
참고로...제가 했던 방법은 이렇습니다.
엑셀파일을 그리드상으로 불러오는건 팁란에 보시면 많이 나와 있어서
그부분은 설명은 넘어갈께여..^^
일단 그리드상에는 데이타들이 쭈~~~~~~욱 들어가 있겠져...
그리고 MDB가 들어갈 폴더를 만듭니다.
if not DirectoryExists(GF_DirName) then mkdir(GF_DirName);
그 다음 그 파일이 있으면 먼저 지운다...
If ChkFile(GF_DirName + Dat + '.mdb') Then DeleteFile (GF_DirName + Dat + '.mdb');
그리고 그 파일이 없으면 MDB를 만듭니다.
If Not ChkFile(GF_DirName + Dat +'.mdb') Then
Begin
If SQLConfigDataSource(Handle, 1, LPCSTR('Microsoft Access Driver (*.mdb)'),
LPCSTR('CREATE_DB='+GF_DirName+Dat +'.mdb General')) then
begin
ADOConnection1.LoginPrompt := false;
ADOConnection1.ConnectionString :='Provider=MSDASQL.1;Password="";Persist Security Info=False;Data Source=MS Access Database;Initial Catalog=c:\Temp_mdb\'+Dat;
AQ.SQL.Clear;
AQ.SQL.Add('CREATE TABLE '+Dat);
AQ.SQL.Add( GA_Create_DB);
AQ.ExecSQL;
end
else
begin
ShowMessage(DF_MSG_MDB_FAILE);
exit;
end;
end;
이런식으로 DB를 만드시면 되여
그다음 이제 그리드에 있는 데이타를 Insert하시면 되겠져..^^
참 인서트하시기 전에 ADOConnection1 컴포넌트로
Connect 하시는거 잊지 마시구여..
그럼 수고 ~