Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[질문] 서버에서의 엑셀 파일 접속 및 데이타 입력

182 views
Skip to first unread message

Nova™

unread,
Feb 22, 2004, 9:31:36 PM2/22/04
to
안녕하세요. 새로운 주말이 시작되었군요...
무슨 시간이 이리 빨리도 가는지... 엄청난 속도록 죽음을 향해 달려가는 기분
입니다...

(허.. 왜 갑자기 죽음이 생각 났을까... )


잡소리가 길었군요... 이번 질문 사항은 뉴스그룹에 자주 올라 왔던 질문을 다시
하려 합니다.
(검색을 해보니.. 엄청난 게시물이 나오더군요 ㅡ.ㅡ;;;)

웹페이지에서 엑셀파일 업로드후 그 내용을 Sql로 저장을 하려 합니다.

간단할것 같아 쉽게 보았더니... 지금 엑셀 파일에 접속도 못하고 있다는...

우선 시도해 본것은 다음과 같습니다.

----------------------------------------------------

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=SQLOLEDB;Data Source=11.111.111.1111;Initial
Catalog=tDB;User ID=sa;Password=sapw")

Sql = "SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel
8.0;DataBase=E:\WEB\TEST\EX\files\ExcelData\20042200.xls', '[Sheet1$]')"

Set Rs = Conn.Execute(Sql)
print Rs(0)

----------------------------------------------------

물론.. .절대로 안되더군요.

이것 저것 다 해보았는데 절대로... ㅜ.ㅜ

제가 잘못한 부분을 꼬집어 주시기 바랍니다.

또한 현재 엑셀 파일로 올라오는 데이타의 양이 만건 정도의 단위 입니다. 이정도
양의 데이타를 이런방식으로
해결하는게 옳바르게 하는건지도 궁금 합니다.

걱정되는 부분은 서버에서 작업을 하는도중 페이지를 떠난다거나 네트웍이
끊긴다면.... (아 상상도 하기 싫은 예외 상황..)

그래서 생각한것이 유저는 파일만 업로드 하고 업로드 후에는 서버의 배치
프로그램이 알아서 db에 넣어주는것
인데... 어떤식으로 하면 좋을지 좀 막막하긴 합니다.


이 길잃은 양을 올바른 길로 인도해 주시기를... ㅜ.ㅜ


Han

unread,
Feb 23, 2004, 12:10:16 AM2/23/04
to
노바님, 잘되는데요.

strcon2=cstr("provider=SQLOLEDB;Data Source=web-dev; Initial Catalog=pubs;
User id=sa; Password=sql")
set c2=createobject("adodb.connection")
c2.open strcon2

strSQL = "SELECT * FROM OPENROWSET(" & _
"'Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\x.xls',Sheet1$)"

set rs2=c2.execute(strsql)
response.write rs2.eof

결과는 false입니다.

--
Pohwan Han, Microsoft MVP, ASP/ASP.Net, Korea
Have a nice day.

"Nova™" <nov...@msn.com.korea> wrote in message
news:%23FvSqUb%23DHA...@TK2MSFTNGP11.phx.gbl...

탄젤님

unread,
Feb 23, 2004, 12:19:22 AM2/23/04
to
노바는 자신의 컴퓨터에 엑셀이 깔려있는지 확인해 주세요

안 깔려 있다면 안되는 경우가 있습니다.

제가 보아도 될듯한 소스입니다.^^

해브어 굿 타임
탄젤

"Nova™" <nov...@msn.com.korea> wrote in message
news:%23FvSqUb%23DHA...@TK2MSFTNGP11.phx.gbl...

Nova™

unread,
Feb 23, 2004, 1:00:05 AM2/23/04
to
잘되는거였나요?

엑셀이 설치가 되어 있어야 하는거였나요?

저는 바보인가요?


....


ㅜ.ㅜ


서버에 엑셀이 설치가 되어 있어야 하는거군요....

한님 탄젤님 답변 감사합니다.... 이 무지한 소생에게 채찍을...

ps... 오늘 대장금합니다. 너밖에 없다 장금아~~~


"Nova™" <nov...@msn.com.korea> wrote in message
news:%23FvSqUb%23DHA...@TK2MSFTNGP11.phx.gbl...

mongmong

unread,
Feb 23, 2004, 1:16:00 AM2/23/04
to
안녕하세요... 노바님.

OLEDB는 엑셀이 안깔려 있어도 됩니다.
과연 서버에 엑셀을 까는 경우가 얼마나 될까요?

DataBase=E:\WEB\TEST\EX\files\ExcelData\20042200.xls',

위의 부분에서 다른 서버일경우 경로 문제가 발생합니다만.. 같은 서버라면 잘 될텐요...
이상하네요..

예전에 서버가 다르다고 하셨던것 같은데... 같은 서버인가요?
[Sheet1$] 를 보면 엑셀 파일에 시트명이 Sheet1 맞는지요...?

에러 메세지를 정확히 알려주시면.. 다른분들이 더 많은 도움을 주실것 같습니다.

"Nova™" <nov...@msn.com.korea> wrote in message

news:usYjJJd#DHA....@tk2msftngp13.phx.gbl...

Nova™

unread,
Feb 23, 2004, 2:02:29 AM2/23/04
to
으앗...

이제 모두 이해를 했습니다.... 이제야... 왜 그생각을 전혀 못했을까.. 아직도
개념이 없는
생각을 하면서 개발자라고 자리에 앉아 있다니...

우선 시트이름은 맞습니다. 테스트인지라 그냥 기본으로 놔두고 해서...
그리고.. 서버에 엑셀이 설치되어 있지 않습니다. 하지만 멍멍님의 말씀으로는
설치가 안되어
있어도 무방.
가장 바보같았던것은...

그 경로가 WEB Server의 경로 였다는것입니다.... 명령은 Sql에 주고... 데이타는
WEB에 있고...
참 한심한... 자바스크립으로 서버코드 짜는것과 마찮가지 였다라는 생각이
드네요.

으... 그럼 우째야 할까요.

엑셀파일이 있는곳과 sql은 물리적으로 다른 곳에 있습니다.

결국 ASP에서 엑셀을 열어 루프를 돌며 sql에 insert 해야 하는것 밖에 없을까요?
아.. 이런...

서버에 배치 프로그램을 설치하고 나서 사용자가 업로드 하면 그 배치프로그램이
자동으로 돌아
sql에 데이타를 넣는 수 밖에 없을듯 하네요... 흠...

asp에서 서버의 특정 프로그램을 실행시킬수 있죠? 어디선가 코드를 본것 같은데
한번 찾아 봐야
겠네요...


좀 더 좋은 방법이라든가. 위에서 말한 배치프로그램에 대한 자료/설명/조언 등의
도움을 구합니다.

"mongmong" <ins...@yahoo.co.kr.korea> wrote in message
news:uM38ASd%23DHA...@TK2MSFTNGP09.phx.gbl...

Ssemi

unread,
Feb 23, 2004, 2:26:34 AM2/23/04
to
안녕하세용~

그냥 WSH 스크립으로 작성하시던지..

아니묘는요 ... Network 드라이브 연결한거로 같은 아이디의 권한이면

FSO 의 Copy 도 잘 되거든요 =_=;


보안상 DB서버에 네트워크 드라이브 연결 같은건 잘 안하니깐..
FTP 가 가장 좋을 수도...;;

상관없으시면 DB서버에 computer browser 서비스 키신담에
네트워크 드라이브 연결하는 배치 파일을 만드시더지요
net share 해서;;


아.. 날씨 겁나게 좋네요

본문과는 상관없는 포스팅!!


--

:: Personal Homepage ::
http://www.ssemi.net

EMAIL : ssemibiz at yahoo.co.kr
MSN : ssemi at ssemi.net
RSS : http://www.ssemi.net/rss/Episode.asp?id=ssemi


"Nova™" <nov...@msn.com.korea> wrote in message

news:uaBCBsd#DHA....@TK2MSFTNGP11.phx.gbl...

mongmong

unread,
Feb 23, 2004, 3:13:49 AM2/23/04
to
음...SQL서버가 깔린 윈도우서버에 IIS를 하나 설치하여... 직접 업로드 받는것이 일단은 가장
손쉽고 안전한 방법인것 같습니다.

회사 입장에서 IIS설치등의 가장 큰 문제는 비용인데.. 다행스럽게도 구현시 필요한 IIS와
사이트갤럭시컴포, OLEDB등은 추가 비용이 발생하지 않기 때문에... 윗분들을 잘만 설득하신다면..
SQL서버로 바로 업로드해서 OpenRowSet 으로 처리하실수 있을것 같습니다..

처리시간도 가장 빠르고.. 위의 방법보다 더 빠르고 효율적인 방법이 존재할지 모르겠습니다...

말씀하신대로.. 웹서버로 전송후 SQL서버의 프로세스를 실행시켜 XMLHTTP등을 이용해 파일을 가져와
처리도 가능이야 하겠지만.. 너무나 비효율적이라.. 이론적인 이야기일것 같습니다.

>결국 ASP에서 엑셀을 열어 루프를 돌며 sql에 insert 해야 하는것 밖에 없을까요?

데이타 1만건 이상이라면... 불가능할것 같습니다...

말씀드린대로.. SQL서버에 IIS를 설치하셔서 간단히 해결을 하심은 어떨지요...?

"Ssemi" <ssem...@yahoo.co.kr.korea> wrote in message
news:OUpbe5d#DHA....@TK2MSFTNGP09.phx.gbl...

Nova™

unread,
Feb 23, 2004, 3:38:16 AM2/23/04
to
흠. .우선 이놈의 정체가 일반 사용자들이 아닌 관리자들만 쓰는것이기 때문에
우선은 멍멍님의 말대로 SQL에서 직접받는것이 불합리하지는 않을것 같습니다.

문제는... 이놈의 아집때문인데...

데이타가 이곳저곳에 쌓이거나 분산되어 처리되면 나중에 관리나 업그레이드 할때
힘들것 같아 되도록이면 피하고 싶은 부분인데... 어쩔수 없죠 ^^;

모두들 답변 감사합니다~~~

아... 세미님이 말씀 하신대로 해도 괜찮을것 같긴 하지만... 우선 물리적으로
멀리
떨어질수도 있고 (한 서브넷에 없을수도 있습니다. ^^;;) 말씀 하신대로 보안에도
문제가 있는지라...

언제나 성실한 답변을 주시는 여러분들.... 싸랑합니다~~


"mongmong" <ins...@yahoo.co.kr.korea> wrote in message

news:O61w1Te%23DH...@TK2MSFTNGP11.phx.gbl...

탄젤님

unread,
Feb 23, 2004, 4:24:19 AM2/23/04
to
올린거 지울수도 없고..

ㅋㅋ

민망하네요.^^

한번 웃고 넘어가 주세요 .

해브어 굿 타임
탄젤

"탄젤님" <tan...@netian.com.korea> wrote in message
news:%23Gq%23Z2c%23DHA...@TK2MSFTNGP11.phx.gbl...

0 new messages