게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: ASP로 MDB파일과 테이블 멩글기 |
---|
작성자: 송원석
작성일시: 2004-05-05 17:24,
조회수: 3,491
|
안녕하세요? 송원석입니다. ^_^
죄송하지만 저도 엑세스와 관련되어서는 실제로 극히 평범한 일부 작업들만을 해 보았을 뿐입니다. 그래서 말씀하신 부분들에 관해서 자세하게 답변을 드리기는 힘들 것 같군요. 다만 원론적인 내용들 몇 가지에 대해서만 제 의견을 말씀드리기로 하겠습니다. 기본적으로 MDB 파일을 비롯하여 그 안에 포함될 테이블까지 한 번에 생성하시는 가장 명확한 방법은 엑세스 자체로부터 제공되는 프로그래밍 개체를 이용하시는 방법입니다. 이미 알고 계시겠지만 모든 마이크로소프트 오피스 제품군들은 각자 자신을 컨트롤 할 수 있는 프로그래밍 개체들을 제공해줍니다. 엑세스 역시 마찮가지인데 이러한 모든 개체들에 대한 정보, 메소드들에 대한 정보 등은 MSDN 사이트나 엑세스의 도움말에서 찾아보실 수 있습니다. ^_^ 예를 들어서 저는 오피스 2000 제품을 사용하고 있고 따라서 사용하고 있는 엑세스의 버전도 역시 2000 입니다. 엑세스를 실행시킨 후 도움말에서 목차를 검색하여 NewCurrentDatabase() 메서드라는 항목을 찾았습니다. 그리고 이 항목의 예제를 살펴보니 다음과 같이 궁금이님께서 원하시는 바로 그런 작업에 대한 예제가 있더군요. ' 모듈의 Declaration 구역에 다음을 선언합니다. Dim appAccess As Access.Application Sub NewAccessDatabase() Dim dbs As Object, tdf As Object, fld As Variant Dim strDB As String Const DB_Text As Long = 10 Const FldLen As Integer = 40 ' 문자열을 데이터베이스 경로로 초기화합니다. strDB = "C:\My Documents\Newdb.mdb" ' Microsoft Access의 새 인스턴스를 작성합니다. Set appAccess = CreateObject("Access.Application.9") ' Microsoft Access 창에서 데이터베이스를 엽니다. appAccess.NewCurrentDatabase strDB ' Database 개체 변수를 구합니다. Set dbs = appAccess.CurrentDb ' 새 테이블을 작성합니다. Set tdf = dbs.CreateTableDef("Contacts") ' 새 테이블에서 필드를 작성합니다. Set fld = tdf.CreateField("CompanyName", DB_Text, FldLen) ' Field와 TableDef 개체를 추가합니다. tdf.Fields.Append fld dbs.TableDefs.Append tdf Set appAccess = Nothing End Sub코드를 보시면 비록 비주얼 베이직으로 작성된 예제이지만 ASP 에서도 충분히 활용이 가능하다는 사실을 아실 수 있을 것입니다. 물론 이와 같은 코드를 ASP 내에서 사용하실 경우 다음과 같은 제약이 존재하게 됩니다. 먼저 새로운 엑세스 MDB 파일이 생성되는 폴더에 대한 권한이 적절하게 설정되어 있어야만 합니다. 이것은 무척이나 당연한 얘기겠죠. 그리고 ASP 프로그램이 실행되는 머신에 엑세스 프로그램이 설치되어 있어야만 합니다. 왜냐하면 위의 예제 코드상에서 사용되는 개체들은 모두 엑세스에서 제공되는 것이기 때문입니다. 이미 앞에서도 말씀드린 것처럼 저 역시도 ASP 상에서 엑세스와 관련된 작업을 해본 것은 미리 만들어져 있는 MDB 파일과 테이블들을 대상으로 조회 및 기타 작업들을 해 본 것이 전부입니다. 그래서 이러한 접근 방식이 최상의 방법인지는 저도 확실하게 말씀드릴 수가 없네요. 다만 MDB 파일을 생성하시는 작업 만큼은 이러한 방법이 아니고서는 불가능하지 않을까 싶습니다. 그리고 나머지 다른 한 가지 방법은 지금까지 말씀드린 방법들을 무색케 할 정도로 간단하고 어떻게 생각해보면 어이없는 방법이 될 수도 있을 텐데요. 만약 매번 생성하시려는 MDB 파일의 내부 구조가 동일하다면 미리 템플릿에 해당하는 MDB 파일을 하나 준비해 놓으시고 필요할 때마다 이 파일의 파일명을 수정하여 원하시는 폴더에 복사하여 사용하시는 방법이 있습니다. 물론 이 방법은 매번 다른 구조의 MDB 파일이 필요한 경우에는 조금 무리겠죠. ^_^;;; 감사합니다. |
IP 주소: 211.226.150.133
|
게시물 | ||||
---|---|---|---|---|
390 |
re: 안녕하세요~ ^^ [1] |
2004-05-13 | 5,462 | |
389 |
오마르 |
2004-05-07 | 909 | |
388 | 2004-05-07 | 3,149 | ||
387 |
오마르 |
2004-05-11 | 883 | |
386 |
정인규 |
2004-05-07 | 1,165 | |
385 | 2004-05-07 | 3,505 | ||
384 |
정인규 |
2004-05-07 | 1,046 | |
383 | 2004-05-07 | 4,324 | ||
382 |
정인규 |
2004-05-07 | 1,013 | |
380 |
woosik |
2004-05-06 | 1,009 | |
379 | 2004-05-06 | 3,172 | ||
378 |
woosik |
2004-05-06 | 1,071 | |
377 | 2004-05-07 | 3,620 | ||
376 |
woosik |
2004-05-07 | 940 | |
375 | 2004-05-07 | 3,621 | ||
374 |
woosik |
2004-05-08 | 1,004 | |
373 | 2004-05-08 | 3,458 | ||
372 |
woosik |
2004-05-08 | 919 | |
371 |
오마르 |
2004-05-06 | 939 | |
370 | 2004-05-06 | 3,313 | ||
369 |
궁금이 |
2004-05-04 | 1,043 | |
2004-05-05 | 3,491 | |||
367 |
궁금이 |
2004-05-06 | 884 | |
366 |
오마르 |
2004-05-03 | 854 | |
365 |
re: 안녕하세요~ ^^ [1] |
2004-05-05 | 3,022 |