Sanggu's blog




최상단 광고 코드

 추천 사이트

 애자일 이야기 : http://agile.egloos.com
 서명덕 기자의 인터넷 : http://itviewpoint.com
 비지니스 뉴스 : http://www.ciobiz.co.kr
 MOCOMSYS : http://www.mocomsys.com
 Apache Software : http://www.apache.org
 소프트웨어 기술경력관리: http://career.sw.or.kr
 한이음 (지식경제부): http://www.hanium.or.kr
 IT 기술 뉴스: http://www.bloter.net/
 IBM 티볼리 까페: http://cafe.naver.com/tivolitool.cafe
 JAVA jar 검색 : http://www.findjar.com
 VM Ware 가상화: http://www.vmware.com

2011년 11월 7일 월요일

ASP 파일을 읽어 들여 DB (MSSQL)에 저장하기.

EAI 연계내부에 진입전, end user에서는 File을 읽어 들여 DB 저장하거나, ASP Web에서 데이터를 form action으로 읽어 들여 DB에 저장하는 부분이 종종 있게 됩니다. 이전 legacy system인 경우는 Web 단에서 받아 들이는 데이터는 .net ASP로 하는 곳도 있지만 2000년 초반에 구성된 시스템이라면 ASP같은 이전 웹서버 시스템을 이용하지요. 
간단히 file (separator data)에서 읽어 들여 DB 쪽에 저장하는 logic 을 살펴 보겠습니다.

'읽어 들일 파일 option, 
  Const ForReading = 1, ForWriting = 2, ForAppending = 8

'헤더 파일 리딩
  Set readObjHeaderFile = FsoObj.OpenTextFile(strHeaderRoot, ForReading) 

' MSSQL 접속
  Set dbCon =Server.CreateObject("Adodb.Connection")
  strConnect = "Provider=SQLOLEDB;Data Source=10.10.10.191;Initial  Catalog=SENDER;uid=sa;pwd=1234;" 
  dbCon.open strConnect

' separator "," 데이터를 읽어 들여 db insert
 Do while readObjHeaderFile.AtEndOfStream <> True
       lineData = readObjHeaderFile.ReadLine()
             
'Data 파싱
       arrData = Split(lineData, ",")
               
       for i= 0 to ubound(arrData)-1
            year = arrData(0)
            slip_no = arrData(1)
            doc_date = arrData(2)
            post_date = arrData(3)
            company_code = arrData(4)
            slip_type = arrData(5)
            slip_type = Left(slip_type, Len(slip_type)-4)
       next
        
        'DB Header 인서트
           sql = "insert into SENDER_WEB_HEADER_INTF (YEAR, SLIP_NO, DOC_DATE, POST_DATE, COMPANY_CODE, SLIP_TYPE) values ("
           sql = sql  & year & ", '" & slip_no & "', '" & doc_date & "', '" & post_date & "', '" & company_code & "', '" & slip_type & "')"
                      
dbCon.Execute sql        
Loop
dbCon.close
  Set dbCon = nothing

댓글 없음:

댓글 쓰기