2017-11-22 1 views
0

안녕하세요, 저는 매일 오전 9시에 다음 코드를 실행하고 싶습니다. 기본적으로 코드는 txt 파일과 각 줄을 읽습니다. 그것은 처리하고 MySQL 테이블에 삽입합니다. 어떻게해야합니까? 나는 다음을 찾았습니다 Make server automatic run asp-script every day하지만 작동하지 않습니다. 도와주세요.작업 스케줄러를 사용하여 ASP 파일을 실행 하시겠습니까?

<% 
    strFileName = "database/testdata.txt"           

    Set fso = Server.CreateObject("Scripting.FileSystemObject") 
    set fs = fso.OpenTextFile(Server.MapPath(strFileName), 1, true) 
    if not fs.AtEndOfStream then 
     Do while not fs.AtEndOfStream 
      strRow = fs.ReadLine 
      sDate = Mid(Trim(strRow), 1, 8) 

      Set rstTMClk1 = server.CreateObject("ADODB.RecordSet") '=== Transfer from file to TMCLK1 
      sSQL = "select * from TMCLK1 '" 
      rstTMClk1.Open sSQL, conn, 3, 3 
      if rstTMClk1.eof then '=== To avoid duplicates 
       sSQL = "insert into TMCLK1 (DT_WORK) " 
       sSQL = sSQL & "values (" 
       sSQL = sSQL & "'" & fdate2(sDate) & "'"  
       sSQL = sSQL & ") " 
       conn.execute sSQL 
      end if 
      pCloseTables(rstTMClk1) 
     Loop 
    end if 
    pCloseTables(fs) 
%> 
+0

코드를 VBS 파일에 복사하고 Server.CreateObject의 모든 참조를 CreateObject로 변경하고 작업을 설정하면 좋은 결과를 얻을 수 있습니다. –

답변

0

@JoshMontgomery 코멘트 당, 당신은 VBScript를 작업으로이 작업을 설정할 수 있습니다 및 작업 실행에서 호출. 네트워크와 같이 시스템에 할당 된 일부 사용자 계정으로 예약 된 작업이 실행되므로 폴더/파일 액세스 만 문제 일 수 있습니다.

여전히 asp 페이지로 실행하려면 브라우저 주소 표시 줄의 URL을 통해 수동으로 호출 할 때 실행되는지 확인하십시오. 예약 된 작업이 실행될 서버에서이 작업을 수행해야합니다.

그런 다음 예약 된 작업으로 이동하십시오. 나는 자유로운 명령 줄 http 유틸리티 인 http://www.gnu.org/software/wget/에서 wget을 사용한다 - 당신이 주소창에 가지고 있었던 URL을주고 멀리 가라. 예약 된 작업의 경우 작업 wget.exe를 만들고 인수는 ASP 페이지의 전체 URL을 만듭니다.

관련 문제