1. 노턴 안티바이러스가 설치되있는 경우 스크립트 차단기능 때문에 FSO 사용시 Hang 발생한다.

해결법 : 노턴 안티바이러스 환경설정-옵션에서 스크립트 차단기능 해제하고 재부팅 하라는 내용.

PRB: Antivirus Software Causes FileSystemObject Calls to Hang IIS (Q295375)

--------------------------------------------------------------------------------
The information in this article applies to:


Microsoft Active Server Pages


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


SYMPTOMS
When you browse an Active Server Pages (ASP) page that contains FileSystemObject calls, the request
for that page stops responding (hangs) and eventually times out in the browser.



CAUSE
This problem occurs because the Script Blocking feature in Norton AntiVirus software blocks
scripting operations that access the file system, such as FileSystemObject . Although this problem
is prevalent in Active Server Pages (ASP) Web applications, it can also occur in other
technologies, such as Windows Scripting.

NOTE: This problem occurs even if Norton AntiVirus has been disabled.



RESOLUTION
To resolve this problem, contact Norton AntiVirus Software Support. The following Symantec Web site
describes how to remove the Script Blocking feature:

http://service1.symantec.com/SUPPORT/nav.nsf/aab56492973adccd8825694500552355/399a443be88ce25788256a
0e0068e180?OpenDocument
NOTE : You may have to reboot the server after you make the above-mentioned changes to the Norton
AntiVirus software.

The third-party contact information included in this article is provided to help you find the
technical support you need. This contact information is subject to change without notice. Microsoft
in no way guarantees the accuracy of this third-party contact information.



--------------------------------------------------------------------------------
Published Apr 10 2001 8:10AM Issue Type kbprb
Last Modifed Oct 30 2001 10:35AM Additional Query Words hang fail Anti-Virus iis 5
Keywords kbASP kbScript kbSecurity kbWebServer kbGrpDSASP kbDSupport kbFSO


Posted by Gu Youn
,
1. smalldatetime 타입 컬럼에 인서트 하기

ms-sql server의 smalldatetime에 인서트 하기 위해서는 YYYY-MM-DD HH:II:SS으로 변환해야 한다.

'asp 예제..
'YYYY-MM-DD HH:II:SS 형식으로 변환
end_time = Year(now)&"-"&Month(now)&"-"&Day(Now)&" "&FormatDateTime(now, 4)

2. 같은 이름의 form 요소 배열로 처리하기
  html에 파일의 인풋폼들의 이름이 같은경우 asp의 Request("schedule_id")에 ","를 구분기호로 해서 들어가 있다. 각 요소마다 접근하기 위해서는 아래 예처럼 하면 됨.
  -html-
  <input type="text" name="schedule_id" >
  <input type="text" name="schedule_id" >
  <input type="text" name="schedule_id" >

  -asp-
  Dim i ,strWhere
  i = 0

        for i = 1 to Request("schedule_id").Count
    if i = 1 then
      strWhere = "WHERE schedule_id="&trim(Request("schedule_id")(i))
                else
      strWhere = strWhere & " Or schedule_id="&trim(Request("schedule_id")(i))
    end if
        next


3. 웹 서버 이름
-asp 코드-
<%
  Dim strSName    : strSName = Request.ServerVariables("SERVER_NAME")
%>
<script language="javascript">
<!--
alert("<%= strSName %>");
-->
</script>

-결과-
사용자가 브라우져 주소창에 www.youngu.info를 입력해서 접속한 경우 strSName은 www.youngu.info가 된다.

4. 사용자 아이피 및 HTTP 헤더
request.servervariables("remote_addr")

Response.Write request.servervariables(1) 'http 모든 헤더를 화면에 출력한다.

5. ASP 페이지 내에서 에러(Error) 처리

SQL = "DELETE FROM test_cont_info_tbl "&strWhere
AdoDb.Execute(sql)
Select Case Err.Number
  Case 0
  Case 1
     ' 에러코드 1일 경우 처리
  Case Else
     ' 그밖의 에러 처리
     AdoDb.Close
     Set AdoDb = nothing
     Response.End
End Select

6. Transaction 처리
          On Error Resume Next        
         
          Dbcon.Execute SQL,LngRecs,adCmdText + adExecuteNoRecords
         
          Dim errCount
          errCount = Dbcon.Errors.Count

                If errCount = 0 Then
             DbCon.CommitTrans
             Response.Write "총 " & LngRecs & " 건의 레코드가 반영되었습니다..."
                Else
             DbCon.RollbackTrans        
             response.write "에러가 발생했습니다...따라서 DB에 반영되지 않았습니다....<br>"
             response.write "원인 : " & Err.Description
             Err.clear
                End If        
       
          Dbcon.Close
          Set Dbcon = nothing
Posted by Gu Youn
,
  Dim arrList
  if Rs.Eof or Rs.Bof then
                arrList = ""
        else
          arrList = Rs.getString()
        end if
       
        if arrList <> "" then
    Dim arrRecord, arrColumn, inum
    arrRecord = Split(arrList,chr(13))
        else
                Response.end
        end if

        'arrRecord(Ubound(arrRecord))에는 마지막 vbCrLf뒤의 널값이 들어가므로 arrColumn으로 나누면 에러남
        '예를 들어 Ubound(arrRecord)값이 6이라면 arrRecord(6)은 NULL이므로 arrRecord(0)~arrRecord(5)까지만 사용한다
        for inum=0 to Ubound(arrRecord)-1
    arrColumn = Split(arrRecord(inum), Chr(9))
  next
Posted by Gu Youn
,
JoinProvision.html에서 동의하면 JoinMember.asp로 넘어가며 JoinMember.asp 주소를 직접 치고 들어오는 요청을 약관 동의 페이지로 넘겨버리는 소스

Request.ServerVariables ("HTTP_REFERER")를 사용하는 경우 주소창이나 locaiton.href를 이용해 이동하면 NULL값이 되므로 form의 action을 이용해서 JoinMember.asp로 이동해야함(정확한건지는 잘 모르겠음 http헤더 확인 필요)

-JoinProvisioin.html-
<script language="javascript">
function agree()
{
        document.provision.action = "JoinMember.asp";
        document.provision.submit();
        return false;
}

</script>
-회원 약관 페이지-<br>
<form name="provision">
<input type="hidden" name="agree" value="ok">
</form>
<a href="#" onClick="agree()">동의</a>    <a href="../index.html">동의안함</a>

-JoinMember.asp-
<%
        Option Explicit
       
        dim PrevUrl , pos
        PrevUrl = Request.ServerVariables ("HTTP_REFERER")
        pos = InStr(PrevUrl,"JoinProvision.html")
       
        if pos < 1 then
                Response.Write "<Script language='javascript'>"
                Response.Write "alert('약관에 동의하셔야 합니다.');"
                Response.Write "location.href='JoinProvision.html';"
                Response.Write "location.go();"
                Response.Write "</Script>"
        end if
%>

Posted by Gu Youn
,