login register Sysop! about ME  

2022년 09월 06일 11시 35분 00초,     조회수 : 284
  제목 : 가상 디렉토리에 있는 엑셀 파일 접속하여 DB로 사용하기(읽고/쓰기)
SEQ : 164414 글쓴이 : cyberhat

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

회사에서 간단하게 asp를 이용하여 간단한 DB 서버를 만들어서 사용중입니다. Access DB인데요. 
그러다가 엑셀을 사용하시는 분이 있는데, Access DB를 사용하게끔  만들어 해보았지만, 편리성 때문에 어쩔 수 없이 다시 엑
셀을 사용하게 되었습니다.(업무가 일정관련된 부분이라 asp에서 하는거랑 엑셀이랑 좀 느낌도 틀리고...)

그래서 찾다가 보니 엑셀 파일도 DB처럼 활용할 수 있다는 것을 알고, (기존에는 read로만 사용했었음). update 를 하여 테
스트 했는데 한 80%는 작동이 되었고..
문제점) 서식이 이상하게 변하더군요. 날짜를 입력했는데 텍스트로 입력되는 문제점(어떤 서식에는 날짜로 그대로 입력되는 
것도 있고.. 원인은 아직 못찾음. 서식을 고정시키고 뭘 해볼려고 했는데.. 이건 나중에 찾아보고 다시 해볼려고 합니다.)

기존에는 엑셀 자료가 nas에 공용으로 파일을 올려놨었고, 그 파일을 자동으로 오전/오후 ASP 서버로 파일을 복사하여 load 
했던 방식이였는데, 엑셀 파일에 update를 한다고 해도 이 파일을 다시 nas에 옮기는 것도 쉽지 않다는 것을 느꼈습니다.
그러다가 가상 디렉토리 공유를 알게 되어, 설정을 했으며 화면상에 localhost/nas/index.asp 라고 하면 nas에 있는 
index.asp파일에 접속이 되어 이제 끝나다고 생각했는데.. 또 문제점 발생..

문제점) 엑셀파일을 가상디렉토리에 있는 것을 읽어올 수 없음.
board_path = server.MapPath("../nas") & "/ADOtest.xls"
Set DbCon2 = Server.CreateObject("ADODB.Connection")
conn2 = "Provider=Microsoft.JET.OLEDB.4.0;Data Source="&board_path&"; Extended Properties=""Excel 
8.0;HDR=YES;"""
DbCon2.Open conn2
에러메세지) Microsoft JET Database Engine 오류 '80004005'
'D:\ASP Test\nas\ADOtest.xls'은(는) 유효한 경로가 아닙니다. 경로 이름을 정확히 입력하였는지, 파일이 있는 서버에 연결
되었는지를 확인하십시오.

제 접근 방식이 잘못된건가요?  올래 include virtual = "../nas/index.asp" 요렇게도 읽어오면 다르게도 접근 해볼까도 생각
해봤는데 이상하게 다른분들은 virtual로 접근이 된다고 하던데 전 안되더군요. 
첨부터 다른게 생각하고 접근을 해야할까요? 음... 

다른방식으로는 asp 서버에 엑셀파일을 메인으로 잡고, 엑셀로 읽고/쓰기도 하고 asp에서도 읽고/쓰기 하고 나중에 저장이 끝
나면 => 가상 디렉토리에 있는 nas 폴더에 자동 복사하게끔 한다. 이것도 생각해봤는데요. 이게 더 좋을지.. 

  호빵
  2022-09-06(14:53)
캐릭 이미지
저 에러 메세지 처럼 유효한 경로가 아니라서 그럴 수 있습니다.
iis에서 가상디렉토리 를 잡으셨다는 말씀 같은데요.
경로를 D:\ASP Test\nas\ADOtest.xls 라고 되어 있는데요.
경로를 저렇게 적지마시고
Server.MapPath() 를 사용 해보세요.
그리고 ASP Test 공백 폴더도 인식 되는지 모르겠습니다.
Response.Write Server.MapPath(".") 찍어 보시고 경로를 맞춰 보세요.

  cyberhat
  2022-09-06(15:15)
캐릭 이미지
원래 서버: http://localhost/innopla/index.asp
가상 디렉토리: http://localhost/innopla/nas/test.asp -> 이렇게 하면 가상 디렉토리
에 있는 test.asp 파일 읽어서 작동 잘됨.(가상 디렉토리에 있는 test.asp 에 ADOtest.xls
파일 load하서 하면 엑셀 파일 읽어오기 OK)
1.테스트는 서버에 있는 http://localhost/innopla/excel/test.asp => 여기서 가상 디
렉토리에 있는 /nas/test.asp 를 읽어올려고 하는데 안되는 것이구요.
가상디렉토리에 있는 test.asp 에 확인을 하면 \\nas\Schedule 이렇게 표시됩니다.



제목 작성자 날짜 조회
가상 디렉토리에 있는 엑셀 파일 접속하여 DB로 사용하기(읽고/쓰기.. (2) cyberhat 2022-09-06 284

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})