<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>하얀늑대</title>
<link>http://syabang.com/blog/wolf</link>
<description>하얀늑대의 일상</description>
<language>ko</language>
<pubDate>Tue, 18 Aug 2009 17:26:12 +0900</pubDate>
<generator>The Simplog (http://thesimplog.com)</generator>
<copyright>Copyright 2009 하얀늑대</copyright>
<docs>http://syabang.com/blog/wolf/rss.xml</docs>
<item>
<title>MS-SQL 설치가이드</title>
<link>http://syabang.com/blog/wolf/index.php/post/258</link>
<description><![CDATA[ <P>(1) MS-SQL 제품군&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp; ① Microsoft(R) SQL Server 2000의 제품군</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2000 Enterprise Edition (32bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2000 Standard Edition (32bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2000 Personal Edition (32bit)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2000 Developer Edition (32bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2000 Express Edition (32bit/)</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp; ② Microsoft(R) SQL Server 2005의 제품군<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2005 Enterprise Edition (32bit/64bit)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2005 Standard Edition (32bit/64bit)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2005 Workgroup Edition (32bit)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2005 Developer Edition (32bit/64bit)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2005 Express Edition (32bit)</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp; ③ Microsoft(R) SQL Server 2008의 제품군</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Enterprise Edition (32bit/64bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Standard Edition (32bit/64bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Workgroup Edition (32bit/64bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Web Edition (32bit/64bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Express Edition (32bit/64bit)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft(R) SQL Server 2008 Compact Edition (32bit/64bit)</P>
<P>&nbsp;</P>
<P>(2) SQL-Server 2005 Express 다운로드와 특징</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① Microsoft(R) SQL Server 2005 Enterprise Edition (32bit/64bit) 특징 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft 사에서 무료로 배포하는 데이터베이스 서버다. 단 유료로 제공되는 서버에 비해 몇 가지 제약 사항이 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 존재한다. 개인 개발자나 교육용으로 적합하며 소규모 상용 서비스에도 적용 가능하나 상용으로 이용할 경우 재배포 시</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 에는&nbsp;&nbsp;Microsoft 사에서 제안하는&nbsp;&nbsp;Go--Live 라이센스에 동의하여야 한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;이 데이터베이스 시스템은&nbsp; Microsoft에서 제공하는 OS에서만 설치가 가능하며 window server 계열, windows xp </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;professional&nbsp;버전까지 지원된다. Standart 버전 이상 비해서 제한되는 사항은 다음과 같다</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - CPU는 1개만 지원</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - RAM을 1GB까지만 지원</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 데이터베이스는 4GB까지만 지원 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 데이터베이스 미러링 지원불가</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - DTS 지원불가</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Analysis&nbsp;서비스&nbsp;지원불가</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 리포팅 서비스 지원 불가</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - OLAP/Data mining&nbsp;서비스 지원 불가 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 기타 ....</P>
<P>&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ②&nbsp; Microsoft Downloads 사이트 : <A href="http://www.microsoft.com/downloads" target=_blank>http://www.microsoft.com/downloads</A>&nbsp;들어가 다음 아래 3가지를 받습니다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg1853007 style="WIDTH: 650px; HEIGHT: 396px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/109/ms2_tonk000.jpg" onload='setTimeout("resizeImage(1853007)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;㉠ Microsoft.NET Framework 2.0 버전 (이미 컴퓨터에 설치가 되어 있다면 다운로드 받지 않아도 됨)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=ko" target=_blank><SPAN style="FONT-SIZE: 8pt">http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=ko</SPAN></A></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#ff0000> ※ 설치 확인 </FONT></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;제어판&nbsp;→ 프로그램 추가/제거 아이콘을 클릭하고 아래 그림과 같이 확인한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg8175355 style="WIDTH: 550px; HEIGHT: 307px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/243/ms1_tonk000.jpg" onload='setTimeout("resizeImage(8175355)",200)' name=cafeuserimg></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉡ Microsoft SQL Server 2005 Express Edition</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Microsoft Download 메인 사이트에서 아래 그림에서 지시한 곳을 클릭한다. [Download A-Z]&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg9130932 style="WIDTH: 550px; HEIGHT: 336px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/237/ms3_tonk000.jpg" onload='setTimeout("resizeImage(9130932)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; 제품 리스트가 나오는데&nbsp; 그 중에 [SQL Server]를 찾아서 클릭한다.</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg2963359 style="WIDTH: 550px; HEIGHT: 337px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/10/193/ms4_tonk000.jpg" onload='setTimeout("resizeImage(2963359)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; SQL Server 제품 리스트가 나오는데 여기서 필요한 것은 Microsoft SQL Server 2005 Edition과 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft SQL Server Management Studio Express 다 .</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg1193804 style="WIDTH: 550px; HEIGHT: 372px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/98/ms5_tonk000.jpg" onload='setTimeout("resizeImage(1193804)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; 먼저 Microsoft SQL Server 2005 Edition&nbsp; 받기 위해서는 위에 그림에서 해당 항목을 클릭하한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;그럼 아래 그림과 같은&nbsp;화면이 나온다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (일단 화면이 영문으로 되어 있음으로 영 불편하다. 그래서 일단은 한글 페이지로 변경한다.)</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg7393556 style="WIDTH: 550px; HEIGHT: 140px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/22/ms6_tonk000.jpg" onload='setTimeout("resizeImage(7393556)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg7522114 style="WIDTH: 632px; HEIGHT: 396px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/54/ms7_tonk000.jpg" onload='setTimeout("resizeImage(7522114)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 아래 링크 주소는 위의 과정을 생략하고 막바로 접근할 수 있도록 해두었다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=220549b5-0b07-4448-8848-dcc397514b41&amp;DisplayLang=en" target=_blank><SPAN style="FONT-SIZE: 8pt">http://www.microsoft.com/downloads/details.aspx?FamilyID=220549b5-0b07-4448-8848-dcc397514b41&amp;DisplayLang=en</SPAN></A></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉢&nbsp;Microsoft SQL Server Management Studio Express&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg2033315 style="WIDTH: 634px; HEIGHT: 397px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/104/ms8_tonk000.jpg" onload='setTimeout("resizeImage(2033315)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 아래 주소는 직접 접근하여 다운로드 받을 수 있는 링크된 주소다. </P>
<P>&nbsp;</P>
<P><A href="http://www.microsoft.com/downloads/details.aspx?displaylang=ko&amp;FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&amp;DisplayLang=en" target=_blank><SPAN style="FONT-SIZE: 8pt">http://www.microsoft.com/downloads/details.aspx?displaylang=ko&amp;FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&amp;DisplayLang=en</SPAN></A></P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>⑶&nbsp; Microsoft SQL Server 2005 Edition과 Microsoft SQL Server Management Studio Express&nbsp;&nbsp;설치하기...</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;① Microsoft SQL Server 2005 Edition</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 사용권 계약서에 관한 내용... 동의해야 설치가 가능하니 일단 동의합니다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <IMG id=userImg1915867 style="WIDTH: 486px; HEIGHT: 450px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/10/121/ms9_tonk000.jpg" onload='setTimeout("resizeImage(1915867)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; - SQL Server를 설치하기 위해&nbsp;Native Client와 설치 지원 파일을 설치한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg462108 style="WIDTH: 486px; HEIGHT: 450px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/10/167/ms10_tonk000.jpg" onload='setTimeout("resizeImage(462108)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 지원 파일 설치가 완료되면 다음을 클릭하여 계속 진행한다.</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (필요한 구성요소 설치 후 SQL Server 설치가 시작된다.)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3101986 style="WIDTH: 550px; HEIGHT: 452px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/10/222/ms11_tonk000.jpg" onload='setTimeout("resizeImage(3101986)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 설치에 필요한 구성요소가 설치되었는지 검사한다. (이부분까지는 오라클하고 비슷하네요)</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg6188681 style="WIDTH: 550px; HEIGHT: 452px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/10/179/ms12_tonk000.jpg" onload='setTimeout("resizeImage(6188681)",200)' name=cafeuserimg></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 개인 정보 입력 창이 나오는데 그냥 넘어 갑니다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg8263545 style="WIDTH: 486px; HEIGHT: 449px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/202/ms13_tonk000.jpg" onload='setTimeout("resizeImage(8263545)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Database Service 및 클라이언트 구성요소 전체를 설치하도록 선택한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg2174640 style="WIDTH: 486px; HEIGHT: 448px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/24/ms14_tonk000.jpg" onload='setTimeout("resizeImage(2174640)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 혼합모드 인증 선택후&nbsp; sa 로그온 암호를 지정한다.&nbsp; <U><FONT color=#ff0000>(이 부분은 중요한 부분이다.)</FONT></U></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg6127105 style="WIDTH: 486px; HEIGHT: 449px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/10/35/ms15_tonk000.jpg" onload='setTimeout("resizeImage(6127105)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 오류 보고 및 사용 보고서 설정 부부인데 당장은 중요하지 않음으로 그냥 넘어가도 무방하다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3647022 style="WIDTH: 486px; HEIGHT: 449px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/10/75/ms16_tonk000.jpg" onload='setTimeout("resizeImage(3647022)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 설치 준비가 완료되면 설치 버튼을 선택하여 계속 진행한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3596161 style="WIDTH: 486px; HEIGHT: 449px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/191/ms17_tonk000.jpg" onload='setTimeout("resizeImage(3596161)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; 항목별로 설치 상태를 나타낸다. 이상이 없다면 다음을 눌러 계속 진행한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg7223411 style="WIDTH: 570px; HEIGHT: 421px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/204/ms18_tonk000.jpg" onload='setTimeout("resizeImage(7223411)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 설치가 완료된 화면이다. 마침을 눌러 설치를 종료한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg8794460 style="WIDTH: 570px; HEIGHT: 421px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/43/ms19_tonk000.jpg" onload='setTimeout("resizeImage(8794460)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개발을 위한 환경 작업 </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;설치가 완료된 후 JDBC 연결을 위해 SQL Server 2005 Express의 네트워크 구성을 수정해 주어야 한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 그리고 프로젝트에서 DB 스키마를 입력하는 데 사용하는 osql 유틸리티를 사용하기 위해서는 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL Native Client의 TCP 프로토콜을 사용하도록 설정해야 한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ※ osql 유틸리티</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft Windows 32명령 프롬프트 유틸리티로 , Transact-SQL 문과 스크립트 파일을 실행하는 데 사용되며</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 서버와 통신하는데 ODBC 데이터베이스 응용 프로그램 인터페이스(API)를 사용하는 유틸리티다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉠ SQL Server Confiquration Manager 를 실행시킨다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;시작 → 프로그램 → Microsoft SQL&nbsp;Server 2005 →&nbsp; 구성으로&nbsp;들어간다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg3301781 style="WIDTH: 550px; HEIGHT: 355px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/14/ms20_tonk000.jpg" onload='setTimeout("resizeImage(3301781)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉡ SQLEXPRESS에 대한 프로토콜을 클릭한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL Server 구성 관리자(로컬)&nbsp;→&nbsp; SQL Server 2005 네트워크 구성 → SQLEXPRESS에 대한 프로토콜 </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3011314 style="WIDTH: 550px; HEIGHT: 355px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/277/ms21_tonk000.jpg" onload='setTimeout("resizeImage(3011314)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉢ TCP/IP에 대한 서비스를 사용으로 변경한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 프로토콜 중 JDBC 사용을 위해서는 TCP/IP 프로토콜을 사용하도록 수정해야 한다. TCP/IP를 선택하고 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;마우스 우클릭하여 나타나는 컨텍스트 메뉴에서 사용으로 변경한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg8177432 style="WIDTH: 550px; HEIGHT: 354px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/214/ms22_tonk000.jpg" onload='setTimeout("resizeImage(8177432)",200)' name=cafeuserimg></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉣ TCP 동적포트 변경하기 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCP/IP를 선택한 상태에서 마우스 우클릭 후 속성을 들어간다. 그 다음 IP주소 탭으로 이동 하여 TCP 동적 포트</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 를 1433으로 변경한다. (IP ALL 항목으로 적용 시킨다.)</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg8806660 style="WIDTH: 459px; HEIGHT: 462px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/21/ms23_tonk000.jpg" onload='setTimeout("resizeImage(8806660)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉤ 설정을 변경할 대마다 나타나는 경고창의 내용처럼 네트워크 구성 정보를 변경한 내용은 서비사를 재시작해야 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;변경 내용이 적용된다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQL Server 구성 관리자(로컬) →&nbsp; SQL Server 2005 서비스에서 마우스 우클릭하여 컨텍스트 메뉴에서</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 다시 시작 을 선택한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg2841699 style="WIDTH: 550px; HEIGHT: 357px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/10/139/ms24_tonk000.jpg" onload='setTimeout("resizeImage(2841699)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉥ SQL Native Client 구성 - 클라이언트 프로토콜에서의 TCP/IP를 사용으로 설정한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL Native Client(로컬) → 클라이언트 프로토콜 →&nbsp;&nbsp;왼쪽 메뉴에서 TCP/IP를&nbsp;우클릭하고 사용으로 변경한다.</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3477653 style="WIDTH: 550px; HEIGHT: 362px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/10/68/ms25_tonk000.jpg" onload='setTimeout("resizeImage(3477653)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉦ 포트 확인을 위해 TCP/IP 항목을 더블 클릭한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;포트 번호가 1433이 아니면 1433으로 수정하고 확인을 클릭하여 설정을 저장한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg6198095 style="WIDTH: 459px; HEIGHT: 462px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/10/293/ms26_tonk000.jpg" onload='setTimeout("resizeImage(6198095)",200)' name=cafeuserimg>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp; ② Microsoft SQL Server Management Studio Express&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉠ Microsoft SQL Server Management Studio Express 설치 마법사 시작이라는 메시지가 출력이 됩니다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg8408183 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/11/14/ms27_tonk000.jpg" onload='setTimeout("resizeImage(8408183)",200)' name=cafeuserimg></P>
<P>&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;㉡ 사용권 계약에 동의하고 설치를 계속 진행한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg7214099 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/11/149/ms28_tonk000.jpg" onload='setTimeout("resizeImage(7214099)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉢ 사용자 조직과 이름을 입력하기 위한 창이 나오는데,, 그냥 대충 입력하거나 이미 입력이 되어 있는 걸로 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg371465 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/241/ms29_tonk000.jpg" onload='setTimeout("resizeImage(371465)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉣ Management Studio Express 를 설치한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg7930128 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/11/2/ms30_tonk000.jpg" onload='setTimeout("resizeImage(7930128)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;㉤ 프로그램 설치 준비 완료 창이 나오는데 막바로 설치하면 된다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg643459 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/11/55/ms31_tonk000.jpg" onload='setTimeout("resizeImage(643459)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg3296612 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data39/2009/7/11/94/ms32_tonk000.jpg" onload='setTimeout("resizeImage(3296612)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉥ 설치가 완료되면 마침 버튼을 눌러 설치를 종료합니다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg9477456 style="WIDTH: 504px; HEIGHT: 386px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/11/98/ms33_tonk000.jpg" onload='setTimeout("resizeImage(9477456)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉦ 설치가 끝나면 Micrsoft SQL Server Management Studio Express를 이용해서 사용자와 데이터베이스를 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;추가한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;시작 → 프로그램 → Microsoft SQL Server 2005 → SQL Server Management Studio Express</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg4437307 style="WIDTH: 531px; HEIGHT: 359px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/162/ms34_tonk000.jpg" onload='setTimeout("resizeImage(4437307)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉧ 인증은 windows 인증으로 놓고 서버이름은 컴퓨터 이름\SQLExpress로 나타나는데 딱히 변경할 필요는 없다.</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 정상적으로 연결이 되었다면 다음과 같은 화면이 나오면 된다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg4909855 style="WIDTH: 550px; HEIGHT: 341px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/157/ms35_tonk000.jpg" onload='setTimeout("resizeImage(4909855)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;㉨ 데이터베이스 생성하기 ... </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;우선 데이터베이스 선택한 후에 우클릭하여 나타나는 컨텍스트 메뉴에서 '새 데이터 베이스' 를 클릭한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg5479766 style="WIDTH: 550px; HEIGHT: 341px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/11/101/ms36_tonk000.jpg" onload='setTimeout("resizeImage(5479766)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉩ 새 데이터 베이스 창에서 데이터 이름을&nbsp; mssql로 입력하고 추가한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg6492574 style="WIDTH: 550px; HEIGHT: 446px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/44/ms37_tonk000.jpg" onload='setTimeout("resizeImage(6492574)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg5796519 style="WIDTH: 294px; HEIGHT: 502px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/290/ms38_tonk000.jpg" onload='setTimeout("resizeImage(5796519)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉪ 새로운 사용자 추가하기 ...</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 보안 - 로그인 에서 마우스 우클릭하여 나타나는 컨텍스트 메뉴에서 새 로그인 을 클릭한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg2013386 style="WIDTH: 635px; HEIGHT: 419px" onclick=popview(this) src="http://cafefiles.naver.net/data36/2009/7/11/231/ms39_tonk000.jpg" onload='setTimeout("resizeImage(2013386)",200)' name=cafeuserimg>&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉫ 로그인 - 신규 창이 나타나면 로그인 이름을 scott 로 입력하고 인증모드를 SQL Server 인증을 선택한다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;암호는 tiger로 입력한다. 기본 데이터베이스를 조금 전에 새로 만든 mssql를 선택하고 기본언어는 Korean으로 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;선택한다. </P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg6013321 style="WIDTH: 624px; HEIGHT: 527px" onclick=popview(this) src="http://cafefiles.naver.net/data38/2009/7/11/255/ms40_tonk000.jpg" onload='setTimeout("resizeImage(6013321)",200)' name=cafeuserimg></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ㉬ 보안 권한 설정과 사용자 매핑 부분인데 ....</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 페이지 선택 화면에서 서버 역할을 선택하여 보안 권한을 설정한다. (잘 모르겠으면 모두 체크한다.)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg1862811 style="WIDTH: 628px; HEIGHT: 527px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/11/234/ms41_tonk000.jpg" onload='setTimeout("resizeImage(1862811)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 사용자 매핑은 mssql 데이터베이스에 매핑을 체크하고 데이터베이스 역할 멤버 자격을 모두 선택해준다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG id=userImg8020406 style="WIDTH: 630px; HEIGHT: 527px" onclick=popview(this) src="http://cafefiles.naver.net/data37/2009/7/11/146/ms42_tonk000.jpg" onload='setTimeout("resizeImage(8020406)",200)' name=cafeuserimg></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;㉭ &nbsp;설정이 끝나면 확인을 눌러 사용자 추가를 끝낸다. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IMG id=userImg4882247 style="WIDTH: 639px; HEIGHT: 149px" onclick=popview(this) src="http://cafefiles.naver.net/data40/2009/7/11/286/ms43_tonk000.jpg" onload='setTimeout("resizeImage(4882247)",200)' name=cafeuserimg></P> ]]> </description>
<category>유용한 정보</category>
<category>sql 2005 server</category>
<pubDate>Tue, 18 Aug 2009 17:26:00 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/258</guid>
</item>
<item>
<title>Flex asp 연동</title>
<link>http://syabang.com/blog/wolf/index.php/post/257</link>
<description><![CDATA[ <H2>Flex Builder 2 and Classic ASP 3.0&nbsp;Example</H2><SMALL><FONT size=2>By a1plusok</FONT></SMALL> 
<DIV class=entry>
<DIV class=snap_preview>
<P><B>Where I’m coming from</B></P>
<P>Isn’t it interesting how some people get totally caught up in specific technologies and then spend the rest of their lives (or at least a few good years) developing in nothing else than that specific set of “programming languages + IDE + APIs + server architecture + delivery platform”?</P>
<P>If you’ve been around the block a couple of times, and if you’ve been developing software and web applications for some time, you probably know of some people like that. Not that there is anything wrong with that, of course, but it is interesting how scary (or exciting) the world looks outside of that comfort zone.</P>
<P>Not that I consider myself a pigeon-holed designer &amp; developer, but I started working with Flex Builder 2 this summer, and I must admit that it was a little scary at first. New concepts (for me), new programming syntax . . . but an awesomely exciting end result. Well, if you’re here because you want to figure out how to make Flex Builder 2 work with Classic ASP 3.0, then I don’t have to tell you anymore about the cool-ness factor of Flex applications.</P>
<P><B>Let’s get on with the show</B></P>
<P>For the purpose of this very basic and very simple example, you need to have Flex Builder installed on your computer. You should be at least somewhat familiar with programming concepts and with XML.</P>
<P>And, of course, you will have access to a web server running IIS and a database (SQL Server, for example) to which you can already connect using ASP and ADODB. So, it’s almost a given that you need to be able to write SQL queries.</P>
<P><B>1. Set up a Flex project.</B> This step is fairly rudimentary and has been covered in detail elsewhere, so I won’t repeat how to set up a Flex project. (Check the Flex Help if you really don’t have a clue.)</P>
<P><B>2. For extra points, use something other than the default location,</B> and create a new directory on your web server. Call it what you want, but the shorter the name the easier to type in the URL later.</P>
<P><B>3. When you’re in a front of the Source view of your MXML file, enter the following:</B></P>
<P><CODE><FONT face="Courier New, Courier, Times, serif" color=blue><FONT size=3>&lt;?xml version=”1.0″ encoding=”utf-8″?&gt;<BR>&lt;mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” xmlns=”*”<BR>layout=”absolute” creationComplete=”userRequest.send()”&gt;</FONT></P>
<P><FONT size=3>&lt;mx:HTTPService<BR>id=”userRequest”<BR>url=”http://www.myurl.com/flex/request.asp”<BR>useProxy=”false”<BR>method=”POST”&gt;<BR>&lt;mx:request xmlns=”"&gt;<BR>&lt;username&gt;{username.text}<BR>&lt;/username&gt;&lt;/mx:request&gt;<BR>&lt;/mx:HTTPService&gt;</FONT></P>
<P><FONT size=3>&lt;mx:Form x=”22″ y=”10″ width=”493″&gt;<BR>&lt;mx:HBox&gt;&lt;mx:Label text=”Username”/&gt;&lt;mx:TextInput id=”username”/&gt;&lt;/mx:HBox&gt;<BR>&lt;mx:Button label=”Submit” click=”userRequest.send()”/&gt;<BR>&lt;/mx:Form&gt;</FONT></P>
<P><FONT size=3>&lt;mx:DataGrid id=”dgUserRequest” x=”22″ y=”140″<BR>dataProvider=”{userRequest.lastResult.users.user}”<BR>width=”493″ height=”125″&gt;<BR>&lt;mx:columns&gt;<BR>&lt;mx:DataGridColumn headerText=”User ID” dataField=”userid”/&gt;<BR>&lt;mx:DataGridColumn headerText=”User Name” dataField=”username”/&gt;<BR>&lt;mx:DataGridColumn headerText=”E-Mail” dataField=”emailaddress”/&gt;<BR>&lt;/mx:columns&gt;<BR>&lt;/mx:DataGrid&gt;</FONT></P>
<P><FONT size=3>&lt;mx:TextInput x=”355″ y=”273″ id=”selectedemailaddress”<BR>text=”{dgUserRequest.selectedItem.emailaddress}”/&gt;</FONT></P>
<P><FONT size=3>&lt;/mx:Application&gt;<BR></FONT></FONT></CODE><FONT face="Times New Roman" size=3>(Feel free to copy and paste all of this from here into your Source view.)</FONT></P>
<P><B>4. Modify the following:</B> “http://www.myurl.com/flex/request.asp”</P>
<P>Obviously, you want to point to your URL (whether that’s on a live server or on your development box) and to the corresponding directory which contains the ASP file that will provide the bulk of the information to you.</P>
<P>At this point, you have the basic Flex application ready. However, don’t try to run it yet, since we haven’t prepared the ASP file yet.</P>
<P><B>5. Create an ASP file and place it in the directory that you specified in step 4:</B></P>
<P><CODE><FONT face="Courier New, Courier, Times, serif" color=blue><FONT size=3>&lt;%@ LANGUAGE=”VBSCRIPT” %&gt;<BR>&lt;%<BR>REM Prevent page caching<BR>Response.Buffer = True<BR>Response.ExpiresAbsolute = Now() - 1<BR>Response.Expires = 0<BR>Response.CacheControl = “no-cache”<BR>Set Conn = Server.CreateObject(”ADODB.Connection”)<BR>Conn.ConnectionTimeout = 15<BR>Conn.CommandTimeout = 30<BR>Conn_Catalog = “MyDatabase”<BR>Conn_UserID = “web_user”<BR>Conn_Password = “whatever1t15″<BR>Conn_DataSource = “555.55.555.55″</FONT></P>
<P><FONT size=3>conn.Open “Provider=sqloledb; Data Source=” &amp; Conn_DataSource &amp; “; Initial Catalog=” &amp; Conn_Catalog &amp; “; User Id=” &amp; Conn_UserID &amp; “; Password=” &amp; Conn_Password</FONT></P>
<P><FONT size=3>If Request.Form(”username”) &lt;&gt; “” Then<BR>dim accessSql<BR>accessSql = “SELECT TOP 55 UserID, UserName, Email FROM Users WITH (NOLOCK) WHERE (Email IS NOT NULL) AND (Email &lt;&gt; ”) AND (Email LIKE ‘%.com’) AND Username LIKE ‘%” &amp; Request.Form(”username”) &amp; “%’ ORDER BY UserID”<BR>Set Comm = Server.CreateObject(”ADODB.Command”)<BR>Comm.ActiveConnection = Conn<BR>Comm.CommandTimeout = 600<BR>Comm.CommandText = accessSql<BR>Comm.CommandType = 1<BR>Set accessSqlRS = Comm.Execute</FONT></P>
<P><FONT size=3>dim mxmlStr, mxmLoop<BR>mxmlStr = “”</FONT></P>
<P><FONT size=3>‘PUT THE QUERY RESULTS INTO AN ARRAY<BR>If Not accessSqlRS.EOF AND NOT accessSqlRS.BOF Then<BR>accessSqlArray = accessSqlRS.GetRows()<BR>accessSqlRS.Close<BR>End If</FONT></P>
<P><FONT size=3>‘LOOP THROUGH THE ARRAY AND FORM THE XML STRING<BR>If IsArray(accessSqlArray) Then<BR>mxmlStr = “&lt;users&gt;”</FONT></P>
<P><FONT size=3>For mxmLoop = 0 to UBound(accessSqlArray, 2)<BR>mxmlStr = mxmlStr &amp; “&lt;user&gt;&lt;userid&gt;” &amp; accessSqlArray(0,mxmLoop) &amp; “&lt;/userid&gt;&lt;username&gt;” &amp; accessSqlArray(1,mxmLoop) &amp; “&lt;/username&gt;&lt;emailaddress&gt;” &amp; accessSqlArray(2,mxmLoop) &amp; “&lt;/emailaddress&gt;&lt;/user&gt;” &amp; vbcrlf<BR>Next</FONT></P>
<P><FONT size=3>mxmlStr = mxmlStr &amp; “&lt;/users&gt;”<BR>End If</FONT></P>
<P><FONT size=3>If delUserSql &lt;&gt; “” Then<BR>delUserSql = NULL<BR>End If</FONT></P>
<P><FONT size=3>If IsArray(accessSqlArray) Then<BR>Erase accessSqlArray<BR>Set accessSqlArray = Nothing<BR>End If</FONT></P>
<P><FONT size=3>‘POST THE XML STRING<BR>Response.Write(mxmlStr)<BR>End If</FONT></P>
<P><FONT size=3>%&gt;<BR></FONT></FONT></CODE><FONT face="Times New Roman" size=3>(Feel free to copy and paste all of this from here into your ASP page.)</FONT></P>
<P><B>6. You need to modify the database connection string and the SQL query.</B> Obviously, my example database and its tables might not work for you. Feel free to adjust your query so that it points to the correct database (by SQL Server IP and database name) and to the correct fields in teh correct table.</P>
<P>After you have built the Flex project, you can try and run it. If you already have all of your Flex files on the web server,and if the file reference from Flex to the ASP page is in place, everything should work.</P>
<P>Ideally, you place all the required files on your web server and access the Flex app by entering its URL (probably pointing to the bin directory).</P>
<P><B>What does it do?</B></P>
<P>If everything works, the Flex app won’t do anything at first. That’s how it’s supposed to work. In my case (using my database), I enter user name or the first few letters of a user name into the text input field, click Submit and then retrieve a number of user records that fulfill the LIKE requirement.</P>
<P>With the grid control filled in, I can now click on any record row and display the e-mail address in a separate input field underneath.</P>
<P>Not bad for a basic proof-of-concept, eh? (And if you have something much, much cooler than this, using either ASP or SQL Server, please let me know about it.)</P>
<P><B><SPAN>Possible Errors</SPAN></B></P>
<P>If you get any weird errors, try to Google them, but the most common issues are:</P>
<P><B>a)</B> Some kind of #1096 error in the Flex app. This has to do with read-only attributes on some of the files in your Flex project directory. The easiest work-around is to disable the History option for the HTML wrapper (Properties -&gt; Flex Compiler).</P>
<P><B>b)</B> No data, nothing happens when you click the button or some weird-looking error box when the Flex app is done loading. This is the result of referencing the ASP file incorrectly. As far as I can tell, you need an absolute URL for the mx:HTTPService to work. And you might want to double-check and make sure that the location to which you are pointing actually contains the ASP file.</P>
<P><B>Next Steps</B></P>
<P>As mentioned throughout this brief and very simple tutorial, all of this is very rudimentary indeed. But you’ve got to start somewhere, right?</P>
<P>If you’re looking for an enterprise-strength solution, you should probably write a web service (using ASP.NET and C#, for example) and include some security measures to protect your data.</P>
<P>In this example, it is presumed that you handle user authentication before the Flex app gets accessed. If you’re dealing with sensitive data, make sure you do not allow unauthorized access to the ASP file that gets accessed by the Flex app. (In no way will I be held responsible for any deployed or publicly accessible solution that has been built as a result of this proof-of-concept tutorial and through which sensitive or otherwise protected data have been compromised.)</P>
<P><B>Call for Examples</B></P>
<P>As you probably know by now, the web is full of Flex Builder examples written for ColdFusion, PHP and Java developers. As a matter of fact, the basis for this tutorial was a PHP tutorial from Adobe Labs. However, there are astonishingly few (if any) hints as to how to use Flex Builder with Classic ASP 3.0.</P>
<P>There has been quite a bit of talk about a Flex solution for ASP.NET, but that doesn’t always fit the need. So, I would hope that this proof-of-concept tutorial helps someone else out there accomplish great and wonderful things.</P>
<P>On the other hand, if you have any “Flex with ASP” examples or functional code snippets, please let me know. I’d love to learn from you.</P>
<P><B>PS:</B> I apologize for the “funky formatting” of the code snippets in this post. The basic WordPress account doesn’t give you much wiggle room in terms of CSS formatting. Feel free to take out extra spaces and extraneous line breaks to format the code to your liking.</P></DIV></DIV> ]]> </description>
<category>Today Story's</category>
<category>Flex</category>
<pubDate>Mon, 13 Apr 2009 17:56:59 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/257</guid>
</item>
<item>
<title>웹서버 스트레스 툴 사용법 (Web Application Stress Tool)</title>
<link>http://syabang.com/blog/wolf/index.php/post/256</link>
<description><![CDATA[ 이 문서에서는 Microsoft WAS(Web Application Stress) 도구를 설치하는 방법과 WAS를 사용하여 웹 프로그램을 테스트하기 위한 스크립트를 만들고 실행하는 방법을 단계별로 설명합니다. <BR><BR>WAS 도구는 Microsoft Internet Information Services(IIS) 5.0 웹 서버를 시뮬레이트된 로드에 두는 데 사용할 수 있는 시뮬레이션 도구입니다. 이 도구는 여러 브라우저가 웹 사이트에서 페이지를 요청하는 환경을 현실적으로 재현하도록 설계되었습니다. WAS를 사용하여 웹 프로그램에 대한 성능 데이터를 수집하고 웹 서버의 성능과 안정성을 평가하십시오. WAS는 스크립트를 사용하여 상대적으로 적은 수의 클라이언트를 사용함으로써 많은 수의 요청을 시뮬레이트합니다. 따라서 가능한 생산 환경에 가까운 시나리오를 만듭니다. 웹 프로그램이 스트레스 하에서 어떻게 응답하며 배포하기 전에 프로그램의 문제를 어떻게 식별하고 제거하는지 이해하기 위해 수집하는 데이터를 분석할 수 있습니다. <BR><BR>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=2></A></SPAN>웹 응용 프로그램 스트레스 도구를 설치하는 방법</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>
<B>참고</B>: 클라이언트 컴퓨터에서 다음 절차를 수행해야 합니다. WAS는 Microsoft Windows NT 4.0 서비스 팩 4(SP 4) 이상과 Microsoft Windows 2000에서 지원됩니다. 테스트 중인 웹 서버에는 WAS를 설치하지 마십시오. 설치할 경우 WAS 설치가 웹 서버 성능에 영향을 미칠 수 있으며 테스트 결과에 방해가 될 수 있습니다. 
<OL>
<LI>관리자 또는 Administrators 그룹의 구성원으로 컴퓨터에 로그온합니다. 
<LI>WAS를 다운로드합니다. 브라우저를 시작하고 다음 Microsoft 웹 사이트로 이동하여 WAS를 다운로드할 수 있습니다. 
<DIV class=indent><SPAN class=ll><A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;DisplayLang=en</A></SPAN><SPAN class=pLink> (http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;DisplayLang=en) </SPAN></DIV>Microsoft 지원 파일을 다운로드하는 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오. 
<DIV class=indent><A class=KBlink href="http://support.microsoft.com/kb/119591/">119591</A>&nbsp; <SPAN class=pLink>(http://support.microsoft.com/kb/119591/ ) </SPAN>온라인 서비스로부터 Microsoft 지원 파일을 구하는 방법</DIV>
<LI>웹 페이지의 오른쪽 창에서 <B>Download</B>를 누릅니다. 
<LI><STRONG class=uiterm>저장</STRONG>을 누릅니다. 
<LI>Setup.exe 파일을 저장할 위치를 지정한 다음 <B>저장</B>을 누릅니다. 
<LI>테스트를 수행할 각 클라이언트 컴퓨터에 Setup.exe 파일을 복사합니다. 
<LI>각 클라이언트 컴퓨터에서 Microsoft Windows 탐색기를 시작한 다음 5단계에서 저장한 Setup.exe 파일을 두 번 누릅니다. 
<LI><B>Yes</B>를 눌러 사용 계약에 동의하여 기본 설치 위치를 적용하거나 WAS를 설치할 위치를 지정한 후 <B>Next</B>를 누릅니다. 
<LI><B>OK</B>를 누른 다음 <B>Finish</B>를 누릅니다.</LI></OL>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=3></A></SPAN>테스트 스크립트를 만드는 방법</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>
웹 프로그램을 테스트할 스크립트를 만들려면 다음 방법 중 하나를 사용하십시오. 
<H4 id=tocHeadRef><SPAN><A id=4></A></SPAN>스크립트를 수동으로 만드는 방법 </H4>
<SCRIPT type=text/javascript>
            loadTOCNode(3, 'summary');
        </SCRIPT>
스크립트를 수동으로 만들려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI><B>Scripts</B> 메뉴에서 <B>Create</B>를 가리킨 다음 <B>Manual</B>을 누릅니다. <BR><BR>스크립트가 왼쪽 창에 "New Script"로 표시됩니다. 새 스크립트 이름을 변경하려면 <B>New Script</B>를 누른 다음 스크립트의 새 이름을 입력합니다. 
<LI>오른쪽 창의 <B>Server</B> 상자에 웹 서버의 이름, FQDN(정식 도메인 이름) 또는 IP(인터넷 프로토콜) 주소를 입력합니다. 
<LI><B>Notes</B> 상자에 설명을 입력합니다. 
<LI><B>Verb</B> 아래에서 첫 번째 셀의 아래 화살표를 누른 다음 사용할 HTTP(Hypertext Transfer Protocol) 동사(예: <B>GET</B>)를 누르거나 셀에 사용할 동사를 입력합니다. 
<LI><B>Path</B> 아래에 웹 페이지의 이름과 경로(예: <SPAN class=userInput>/scripts/test.asp</SPAN>)를 입력합니다. <BR><BR><B>참고</B>: 서버 이름은 포함하지 마십시오. 
<LI>페이지 그룹을 사용하려는 경우 <B>Group</B> 아래를 적절히 변경합니다. 
<LI>스크립트 항목 사이에 대기 시간을 지정하려면 <B>Delay</B> 아래에 지연 값(밀리초 단위)을 입력합니다. 기본값은 0입니다. 
<LI>스크립트에 항목을 추가하려면 5단계부터 8단계까지 반복합니다.</LI></OL>
<H4 id=tocHeadRef><SPAN><A id=5></A></SPAN>브라우저 활동을 기록하여 스크립트를 만드는 방법</H4>
<SCRIPT type=text/javascript>
            loadTOCNode(3, 'summary');
        </SCRIPT>
브라우저 활동을 기록하여 스크립트를 만들려면 이 절에서 설명하는 절차를 사용하십시오. <BR><BR><B>참고</B>: 프록시 서버를 사용 중인 경우 사용자 계정에 먼저 로그온하도록 Microsoft WebTool 서비스를 구성해야 합니다. 프록시 서버를 사용하지 않는 경우 본 문서의 <SPAN><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#7">2단계: 브라우저 활동 기록</A></SPAN> 절로 바로 이동하십시오.<BR><BR><B><SPAN><A id=6></A></SPAN>Microsoft WebTool 서비스를 구성하는 방법</B><BR><BR>프록시 서버를 사용 중인 경우 사용자 계정에 로그온하도록 Microsoft WebTool 서비스를 구성하십시오. 구성하려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>설정</B>을 가리킨 다음 <B>제어판</B>을 누릅니다. 
<LI><B>관리 도구</B>를 두 번 누른 다음 <B>서비스</B>를 두 번 누릅니다. 
<LI><B>WebTool</B>을 두 번 누른 다음 <B>로그온</B> 탭을 누릅니다. 
<LI><STRONG class=uiterm>다음 계정으로 로그온</STRONG>에서 <STRONG class=uiterm>계정 지정</STRONG>을 누른 다음 아래의 형식을 사용하여 사용자 이름을 입력합니다. 
<DIV class=indent><SPAN class=userInput>\\<VAR>Domain</VAR>\<VAR>UserName</VAR></SPAN></DIV>
<LI>해당 상자에 암호를 입력하고 확인한 다음 <B>확인</B>을 누릅니다. 
<LI><B>WebTool</B>을 마우스 오른쪽 단추로 누른 다음 <B>중지</B>를 누릅니다. 
<LI><B>WebTool</B>을 마우스 오른쪽 단추로 누른 다음 <B>시작</B>을 누릅니다. 
<LI><B>서비스</B> 대화 상자를 닫은 다음 <B>관리 도구</B> 대화 상자를 닫습니다.</LI></OL><BR><BR><B><SPAN><A id=7></A></SPAN>브라우저 활동을 기록하는 방법</B><BR><BR>
<OL>
<LI>Microsoft Internet Explorer를 시작합니다. 
<LI><B>도구</B> 메뉴에서 <B>인터넷 옵션</B>을 누른 다음 <B>일반</B> 탭을 누릅니다. 
<LI><STRONG class=uiterm>임시 인터넷 파일</STRONG>에서 <B>파일 삭제</B>를 누릅니다. 
<LI><B>연결</B> 탭을 누릅니다. 
<LI><STRONG class=uiterm>전화 걸기 설정</STRONG> 상자에서 전화 접속 네트워킹 연결을 누른 다음 <B>설정</B>을 누릅니다. 
<LI><STRONG class=uiterm>자동 구성</STRONG>에서 <STRONG class=uiterm>설정 자동 검색</STRONG> 확인란이 선택되어 있으면 선택을 취소합니다. 
<LI><STRONG class=uiterm>프록시 서버</STRONG>에서 <STRONG class=uiterm>프록시 서버 사용</STRONG> 확인란을 선택하고 <B>주소</B> 상자에 <SPAN class=userInput>localhost</SPAN>를 입력한 다음 <B>포트</B> 상자에 <SPAN class=userInput>8000</SPAN>을 입력합니다. 
<LI><STRONG class=uiterm>로컬 주소에 프록시 서버 사용 안함</STRONG> 확인란이 선택되어 있으면 선택을 취소합니다. 
<LI><B>확인</B>을 두 번 누른 다음 Internet Explorer를 종료합니다. 
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI><B>Scripts</B> 메뉴에서 <B>Create</B>를 가리킨 다음 <B>Record</B>를 누릅니다. 
<LI>기록할 설정 옆의 확인란을 선택하고 <B>Next</B>를 누른 다음 <B>Finish</B>를 누릅니다. 
<LI>Internet Explorer를 시작한 후에 <B>주소</B> 표시줄에 테스트할 웹 사이트의 URL(Uniform Resource Locator)을 입력한 다음 Enter 키를 누릅니다. 
<LI>테스트할 웹 사이트의 페이지를 탐색합니다. <BR><BR>탐색하는 페이지의 경로가 WAS 기록 창에 표시됩니다. 
<LI>작업을 마쳤으면 <B>Stop Recording</B>을 누릅니다. <BR><BR>스크립트가 왼쪽 창에 "New Recorded Script"로 표시됩니다. 새 스크립트 이름을 변경하려면 <B>New Recorded Script</B>를 누른 다음 스크립트의 새 이름을 입력합니다. </LI></OL>
<H4 id=tocHeadRef><SPAN><A id=8></A></SPAN>IIS 로그에서 스크립트를 만드는 방법</H4>
<SCRIPT type=text/javascript>
            loadTOCNode(3, 'summary');
        </SCRIPT>
IIS 로그에서 스크립트를 만들려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI><B>Scripts</B> 메뉴에서 <B>Create</B>를 가리킨 다음 <B>Log</B>를 누릅니다. 
<LI><STRONG class=uiterm>Log file</STRONG> 상자에서 <B>Browse</B>를 눌러 스크립트를 만드는 데 사용할 IIS 로그를 찾고 <B>Open</B>을 누른 다음 <B>Next</B>를 누릅니다. 
<LI>로그 파일을 구문 분석할 옵션을 누른 다음 <B>Finish</B>를 누릅니다. <BR><BR>스크립트는 왼쪽 창에 "<VAR>LogFile</VAR>.log"로 표시됩니다. 여기서 <VAR>LogFile</VAR>.log는 IIS 로그 파일의 이름입니다. 새 스크립트 이름을 변경하려면 <B><VAR>LogFile</VAR>.log</B>를 누른 다음 스크립트의 새 이름을 입력합니다.</LI></OL>
<H4 id=tocHeadRef><SPAN><A id=9></A></SPAN>웹 사이트 콘텐츠에서 스크립트를 만드는 방법</H4>
<SCRIPT type=text/javascript>
            loadTOCNode(3, 'summary');
        </SCRIPT>
웹 사이트에 있는 파일에서 스크립트를 만들려면 다음 단계를 수행하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI><B>Scripts</B> 메뉴에서 <B>Create</B>를 가리킨 다음 <B>Contents</B>를 누릅니다. <BR><BR>스크립트가 왼쪽 창에 "New Script"로 표시됩니다. 새 스크립트 이름을 변경하려면 <B>New Script</B>를 누른 다음 스크립트의 새 이름을 입력합니다. 
<LI>트리가 아직 확장되지 않은 경우 스크립트 옆의 더하기 기호(+)를 눌러 트리를 확장합니다. <BR><BR>스크립트 항목이 스크립트 트리에 표시됩니다. 
<LI><B>Content Tree</B>를 누릅니다. 
<LI>오른쪽 창의 <STRONG class=uiterm>Content location</STRONG> 상자에 콘텐츠 폴더 경로를 입력하거나 <B>Browse</B>를 눌러 폴더를 찾은 다음 <B>OK</B>를 누릅니다. 
<LI>필요할 경우 <STRONG class=uiterm>Virtual root</STRONG> 상자에 가상 루트 자리 표시자를 입력합니다. 
<LI><B>Apply</B>를 누릅니다. <BR><BR>WAS는 웹 콘텐츠에 기반하여 콘텐츠 트리를 만듭니다. 테스트에 포함할 파일 옆의 확인란을 선택합니다. </LI></OL>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=10></A></SPAN>스크립트를 구성하는 방법</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>
스크립트 설정을 구성하려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI>트리가 아직 확장되지 않은 경우 왼쪽 창에서 <B><VAR>ScriptName</VAR></B>( <VAR>ScriptName</VAR>은 스크립트의 이름)을 두 번 눌러 트리를 확장합니다. <BR><BR>스크립트 항목이 오른쪽 창에 표시됩니다. 
<LI>구성할 스크립트 항목(<B>Verb</B> 열 왼쪽에 있는 검정색 단추)의 행 머리글을 두 번 누릅니다. <BR><BR>이렇게 하면 스크립트 Details 보기가 열립니다. 이 보기를 사용하여 쿼리 문자열 이름-값 쌍을 편집하거나 게시 데이터를 사용자 지정하거나 HTTP 헤더를 수정하거나 SSL(Secure Sockets Layer) 암호화를 설정하거나 스크립트를 RDS(Remote Data Service) 쿼리로 서식 지정할 수 있습니다. 
<LI>적절한 탭을 눌러 원하는 설정을 지정한 다음 <B>OK</B>를 누릅니다. 
<LI>왼쪽 창에서 <B>Settings</B>를 누릅니다. <BR><BR><B>Settings</B> 대화 상자에 표시된 스크립트 옵션에 대한 설정을 지정합니다. 예를 들어, 스트레스 수준 값을 수정하거나 테스트 실행 시간을 설정하거나 대역폭 조절을 설정할 수 있습니다. 
<LI>스크립트에 성능 모니터 카운터를 추가하려면 <B>Perf Counters</B>를 누르고 오른쪽 창에서 <B>Add Counter</B>를 누르고 추가할 개체와 카운터를 누르고 <B>Add</B>를 누른 다음 <B>OK</B>를 누릅니다. 
<LI>해당 스크립트에 정의된 페이지 그룹 목록을 보거나 페이지 그룹 분배를 변경하려면 <B>Page Groups</B>를 누릅니다. 
<LI>기본 사용자에 사용자를 추가하고 제거하거나 새로운 사용자를 만들려면 <B>Users</B>를 누르고 오른쪽 창에서 <B>Default</B>를 두 번 누르고 다음 단계 중 하나를 수행하십시오. 
<UL>
<LI>새 사용자를 추가하려면 해당 상자에 다음 정보를 입력한 다음 <B>Create</B>를 누릅니다. 
<UL>
<LI>만들려는 사용자 수 
<LI>사용자 이름 접두사 
<LI>암호</LI></UL>
<LI>새 사용자를 추가하려면 왼쪽 창에서 <B>Default</B>를 마우스 오른쪽 단추로 누른 다음 <B>Add</B>를 누릅니다. <BR><BR>새 사용자가 왼쪽 창에 "New Population"으로 표시됩니다. 새 사용자 이름을 변경하려면 <B>New Population</B>을 누른 다음 새 이름을 입력합니다.</LI></UL>
<LI><B>View</B> 메뉴에서 <B>Scripts</B>를 눌러 Scripts 보기로 돌아갑니다. 
<LI>현재 그룹에 클라이언트 컴퓨터를 추가 또는 제거하거나 클라이언트 컴퓨터의 새 그룹을 추가하려면 <B>Clients</B>를 누른 다음 오른쪽 창에서 <B>Default</B>를 누릅니다. 
<UL>
<LI>클라이언트 컴퓨터를 추가하려면 <STRONG class=uiterm>Machine name</STRONG> 상자에 컴퓨터 이름(또는 IP 주소)을 입력한 다음 <B>Add</B>를 누릅니다. 
<LI>새 그룹을 추가하려면 왼쪽 창에서 <B>Default</B>를 마우스 오른쪽 단추로 누른 다음 <B>Add</B>를 누릅니다. 새 그룹이 왼쪽 창에 "New Group"으로 표시됩니다. 새 그룹 이름을 변경하려면 <B>New Group</B>을 누른 다음 새 이름을 입력합니다.</LI></UL>
<LI><B>View</B> 메뉴에서 <B>Scripts</B>를 눌러 Scripts 보기로 돌아갑니다. 
<LI>각 사용자와 함께 저장된 쿠키를 보려면 <B>Cookies</B>를 누릅니다. </LI></OL>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=11></A></SPAN>웹 프로그램을 테스트하는 방법</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>
스크립트를 사용하여 테스트를 실행하려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI>왼쪽 창에서 사용할 스크립트를 누른 다음 <B>Scripts</B> 메뉴에서 <B>Run</B>을 누릅니다.</LI></OL>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=12></A></SPAN>테스트 보고서를 보는 방법</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>
테스트 보고서를 보려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 차례로 가리킨 다음 <STRONG class=uiterm>Microsoft Web Application Stress Tool</STRONG>을 누릅니다. 
<LI><B>View</B> 메뉴에서 <B>Reports</B>를 누릅니다. <BR><BR>수행하는 각 테스트의 보고서는 왼쪽 창의 관련 스크립트 아래 표시됩니다. 보고서 제목은 테스트를 시작한 날짜와 시간입니다. 
<LI>트리를 아직 확장하지 않았으면 보고서를 두 번 눌러 트리를 확장합니다. 
<LI>보고서 트리에서 추가 정보를 보려는 항목(예: <B>Page Summary</B>)을 누릅니다.<BR><BR>해당 항목에 대한 세부 정보가 오른쪽 창에 표시됩니다. </LI></OL>
<DIV class=topOfPage><A href="http://support.microsoft.com/default.aspx?scid=kb;ko;313559#top"><IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif">위로 가기</A></DIV>
<H3 id=tocHeadRef><SPAN><A id=13></A></SPAN>문제 해결</H3>
<SCRIPT type=text/javascript>
                loadTOCNode(2, 'summary');
            </SCRIPT>

<UL>
<LI><B>WAS를 시작할 수 없습니다</B>. <BR><BR>이 문제는 WebTool 서비스가 실행되고 있지 않을 경우 발생할 수 있습니다. 이 문제를 해결하려면 WebTool 서비스가 실행 중인지 확인하십시오. 확인하려면 다음과 같이 하십시오. 
<OL>
<LI><B>시작</B>을 누르고 <B>프로그램</B>, <B>보조프로그램</B>을 차례로 가리킨 다음 <B>명령 프롬프트</B>를 누릅니다. 
<LI>명령 프롬프트에서 <SPAN class=userInput>net start webtool</SPAN>을 입력한 다음 Enter 키를 누릅니다. 
<LI>현재 실행 중인 서비스 목록을 표시하려면 <SPAN class=userInput>net start</SPAN>를 입력한 다음 Enter 키를 누릅니다. <BR><BR>목록에 WebTool이 표시되는지 확인합니다.</LI></OL>
<LI><B>클라이언트 컴퓨터를 추가하거나 클라이언트 컴퓨터에 연결할 수 없습니다.</B><BR><BR>다음 경우 중 하나에 해당하면 이러한 현상이 발생할 수 있습니다. 
<UL>
<LI>클라이언트 컴퓨터가 Windows NT 4.0 기반 또는 Windows 2000 기반 컴퓨터가 아닙니다. 이 문제를 해결하려면 Windows NT 기반 또는 Windows 2000 기반 컴퓨터에 WAS를 설치하십시오. <BR><BR>또는 
<LI>WAS가 클라이언트 컴퓨터에 설치되지 않았습니다. 이 문제를 해결하려면 연결할 클라이언트 컴퓨터에 WAS를 설치하십시오. <BR><BR>또는 
<LI>WAS가 설치된 클라이언트 컴퓨터에서 WebTool 서비스가 실행되고 있지 않습니다. 이 문제를 해결하려면 연결할 클라이언트 컴퓨터에서 WebTool 서비스를 시작하십시오. <BR><BR>또는 
<LI>연결할 클라이언트 컴퓨터에서 로컬 관리자 그룹의 구성원이 아닙니다. 이 문제를 해결하려면 연결할 각 클라이언트 컴퓨터에서 로컬 관리자 그룹의 구성원인 사용자 계정을 사용하여 로그온하십시오.</LI></UL></LI></UL>WAS 문제 해결 방법에 대한 자세한 내용은 WAS 도움말의 "Troubleshooting" 절을 참조하십시오. <B>Help</B> 메뉴에서 <STRONG class=uiterm>Web Application Stress Help</STRONG>를 누르고 <B>Contents</B> 탭을 누른 다음 <B>Troubleshooting</B>을 두 번 누릅니다. <BR> ]]> </description>
<category>2003 server</category>
<category>Stress</category>
<pubDate>Mon, 13 Apr 2009 10:59:00 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/256</guid>
</item>
<item>
<title>vb 또는 asp에서 다른 웹페이지를 호출하기</title>
<link>http://syabang.com/blog/wolf/index.php/post/255</link>
<description><![CDATA[ <P>vb 또는 asp에서 다른 웹페이지를 호출하고 싶어질때가 있다.<BR>물론 C#과 같은 언어는 httpRequest 와 같은 객체가 있어 손쉽게 받을수 있지만<BR>vb or asp에서는 WinHttp.WinHttpRequest.5.1 의 객체를 생성하여 사용할수 있다.<BR><BR></P>
<DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #d0ff9d">
<P><STRONG><FONT color=#ff0000>GET</FONT> 방식으로 페이지를 호출할경우<BR></STRONG><BR><CODE><SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">Function</SPAN> getSiteSourceGet<SPAN style="FONT-WEIGHT: bold; COLOR: #006600">(</SPAN> siteURL, params <SPAN style="FONT-WEIGHT: bold; COLOR: #006600">)</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Set</SPAN> httpObj = <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Server</SPAN>.<SPAN style="COLOR: #330066">CreateObject</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">(</SPAN><SPAN style="COLOR: #cc0000">"WinHttp.WinHttpRequest.5.1"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">)</SPAN><BR>&nbsp;httpObj.<SPAN style="COLOR: #330066">open</SPAN> <SPAN style="COLOR: #cc0000">"GET"</SPAN>, siteURL &amp; <SPAN style="COLOR: #cc0000">"?"</SPAN> &amp; params, <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">False</SPAN><BR>&nbsp;<BR>&nbsp;httpObj.<SPAN style="COLOR: #330066">Send</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">)</SPAN><BR>&nbsp;httpObj.<SPAN style="COLOR: #9900cc">WaitForResponse</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">If</SPAN> httpObj.<SPAN style="COLOR: #330066">Status</SPAN> = <SPAN style="COLOR: #cc0000">"200"</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Then</SPAN><BR>&nbsp; getSiteSourceGet = httpObj.<SPAN style="COLOR: #9900cc">ResponseText</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Else</SPAN><BR>&nbsp; getSiteSourceGet = <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">null</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">End</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">If</SPAN> <BR><SPAN style="FONT-WEIGHT: bold; COLOR: #990099">End</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">Function</SPAN></CODE></P></DIV>
<P><BR><BR>&nbsp;</P>
<DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #c9edff">
<P><STRONG><FONT color=#ff0000>POST</FONT> 방식으로 페이지를 호출할 경우</STRONG><BR><BR><CODE><SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">Function</SPAN> getSiteSourcePost<SPAN style="FONT-WEIGHT: bold; COLOR: #006600">(</SPAN> siteURL, params <SPAN style="FONT-WEIGHT: bold; COLOR: #006600">)</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Set</SPAN> httpObj = <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Server</SPAN>.<SPAN style="COLOR: #330066">CreateObject</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">(</SPAN><SPAN style="COLOR: #cc0000">"WinHttp.WinHttpRequest.5.1"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #006600">)</SPAN><BR>&nbsp;httpObj.<SPAN style="COLOR: #330066">open</SPAN> <SPAN style="COLOR: #cc0000">"POST"</SPAN> , siteURL, <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">False</SPAN><BR>&nbsp;httpObj.<SPAN style="COLOR: #9900cc">SetRequestHeader</SPAN> <SPAN style="COLOR: #cc0000">"Content-Type"</SPAN>, <SPAN style="COLOR: #cc0000">"application/x-www-form-urlencoded"</SPAN><BR>&nbsp;<SPAN style="COLOR: #008000">'포스트 방식시 위의 라인을 추가해 주어야 한다.</SPAN><BR>&nbsp;<BR>&nbsp;httpObj.<SPAN style="COLOR: #330066">Send</SPAN> params<BR>&nbsp;<SPAN style="COLOR: #008000">'포스트의 파라미터는 Send 호출시 같이 값을 넘겨 주어야 한다.</SPAN><BR>&nbsp;httpObj.<SPAN style="COLOR: #9900cc">WaitForResponse</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">If</SPAN> httpObj.<SPAN style="COLOR: #330066">Status</SPAN> = <SPAN style="COLOR: #cc0000">"200"</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Then</SPAN><BR>&nbsp; getSiteSourcePost = httpObj.<SPAN style="COLOR: #9900cc">ResponseText</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">Else</SPAN><BR>&nbsp; getSiteSourcePost = <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">null</SPAN><BR>&nbsp;<SPAN style="FONT-WEIGHT: bold; COLOR: #990099">End</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #990099">If</SPAN> <BR><SPAN style="FONT-WEIGHT: bold; COLOR: #990099">End</SPAN> <SPAN style="FONT-WEIGHT: bold; COLOR: #0000ff">Function</SPAN></CODE></P></DIV>
<P><BR><BR>POST를 이용할시 약간 수정행 주어야 할것이 있는데 Content-Type을 위와 같이 변경해주어야 하며 파라미터를 GET방식과는 다르게 Send 시 값을 넘겨주어야 파라미터값들이 전달되다.<BR><BR>위와 같이 함수를 만들어 사용하면 될것이다. <BR><BR>추가된글 파라미터를 넘길때 GET 방식이던 POST 방식이던 URLEncode 를 해주어야 한다. 그것때문에 한참 헤맸다. 그리고 VB Script로 호출시에는 Server 객체를 사용할수 없음으로 URLEncode 함수를 직접 만들어 사용해야 했다. URLEncode&nbsp;함수는 쉽게 구할수 있다.</P> ]]> </description>
<category>ASP 프로그래밍</category>
<category>호출</category>
<pubDate>Tue, 24 Mar 2009 10:59:47 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/255</guid>
</item>
<item>
<title>MSXML2.ServerXMLHTTP 에러처리</title>
<link>http://syabang.com/blog/wolf/index.php/post/254</link>
<description><![CDATA[ 오류가 발생할경우 해당 오류를 처리할수 있는 방법을 설명하고 있습니다. 즉,
<P>&nbsp;</P>
<P>sUrl = "<A href="http://www.request.com/request.php" target=_blank><FONT color=#696969>http://www.request.com/request.php</FONT></A>"<BR>set oHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")<BR><FONT style="BACKGROUND-COLOR: #ffffff"><FONT color=#0075c8>&nbsp;</FONT><FONT style="BACKGROUND-COLOR: #ffffff" color=#3a32c3>'오류가 발생할경우 무시하고 다음 처리구문으로 이동함</FONT></FONT></P>
<P><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000><FONT color=#ef007c>on error resume next&nbsp;&nbsp;&nbsp;</FONT>&nbsp;</FONT></P>
<P>oHttp.Open "GET", sUrl, False<BR>oHttp.Send ""<BR><FONT color=#3a32c3>'지정한 경로의 서버상태값을 가지고 옵니다. (200, 404, 500 등)</FONT></P>
<P><FONT color=#ef007c>status = oHttp.status</FONT></P>
<P>&nbsp;</P>
<P><FONT color=#3a32c3>'오류가&nbsp;있거나 (오류가 없을경우 err.number가 0 값을 돌림) status 값이 200 (로딩 성공) 이 아닐경우</FONT></P>
<P><FONT color=#ef007c>if err.number &lt;&gt; 0 or status &lt;&gt; 200 then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if status = 404 then</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write "존재하지 않는 페이지 입니다.(404)"</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif status &gt;= 401 and status &lt; 402 then</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write "접근이 금지된 페이지 입니다.(401)"</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif status &gt;= 500 and status &lt;= 600 then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write "내부 서버 오류 입니다.(500)"</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp; &nbsp; else</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write "서버가 다운되었거나 올바른 경로가 아닙니다."</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if</FONT></P>
<P><FONT color=#ef007c></FONT>&nbsp;</P>
<P><FONT color=#3a32c3>'오류가 없음 (문서를 성공적으로 로딩함)</FONT></P>
<P><FONT color=#ef007c>else</FONT></P>
<P><FONT color=#ef007c>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#000000>Response.Write oHttp.ResponseText</FONT></P>
<P><FONT color=#ef007c>end if</FONT></P>
<P>&nbsp;</P>
<P>Set oHttp = Nothing</P>
<P>&nbsp;</P> ]]> </description>
<category>Today Story's</category>
<category>MSXML2.ServerXMLHTTP</category>
<pubDate>Wed, 07 Jan 2009 18:08:05 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/254</guid>
</item>
<item>
<title>'인포월드'가 전망한 '미래쇼크 10'</title>
<link>http://syabang.com/blog/wolf/index.php/post/252</link>
<description><![CDATA[ <STRONG>'인포월드'가 전망한 '미래쇼크 10' <BR>사람과 기계 연결 인터페이스 확산 <BR>자동화로 임금노동자 대폭 감소해 <BR>온라인 인맥·실제 인맥 구별 사라져 <BR><BR></STRONG>"내 안경을 어디 뒀더라?" 물으면 휴대전화가 "어젯밤 거실에서 벗어놨습니다"라고 알려준다. 이 안경을 조작하면 사람의 맨 눈으로는 보이지 않던 물체의 내부구조나 미세한 부분까지 들여다 볼 수 있다. <BR><BR>
<DIV class=GS_conL style="WIDTH: 290px">
<P class=ph><IMG style="CURSOR: hand" onclick=window.open(this.src) alt="" src="http://photo-media.daum-img.net/200809/29/hani/20080929191104.538.0.jpg" width=290 name=zb_target_resize h="294" w="290"></P></DIV>인터넷과 정보통신 기술이 10년 안에 어떻게 변화할지에 대한 다양한 전망이 나왔다. 현재의 인터넷 시스템을 만들어 '인터넷의 아버지'로 불리는 빈트 서프 <A class=keyword onmouseover=UI.toolTip(event) title=&amp;gt;검색하기 href="http://search.daum.net/search?w=tot&amp;q=%B1%B8%B1%DB&amp;nil_profile=newskwd&amp;nil_id=v20080929191104192" target=new>구글</A> 부사장은 지난 26일 구글 창립 10주년을 맞아, 앞으로 10년간 인터넷의 변화에 대한 전망을 내놓았다. 미국의 정보통신 전문지 &lt; 인포월드 &gt; 도 10년 안에 일어날 정보기술 분야 10가지 '미래 쇼크'를 발표했다. <BR><BR>빈트 서프가 내다본 인터넷의 주된 변화는 무선인식(RFID) 장치와 모바일 장치가 결합해 인터넷이 다양한 용도로 활용되는 것이다. 대부분의 상품에 무선인식 장치와 아이피 주소가 할당돼 인터넷을 통한 제어가 가능해지는 <A class=keyword onmouseover=UI.toolTip(event) title=&amp;gt;검색하기 href="http://search.daum.net/search?w=tot&amp;q=%C0%AF%BA%F1%C4%F5%C5%CD%BD%BA&amp;nil_profile=newskwd&amp;nil_id=v20080929191104192" target=new>유비쿼터스</A> 세상이 눈 앞에 있다. 유비쿼터스 환경에서 인터넷은 전력을 분배하고 제어하는 주된 장치로 쓰여 에너지의 효율 또한 크게 높일 수 있다는 게 서프의 예측이다. 인터넷과 연결된 자동차는 에너지를 소비하는 것만이 아니라 에너지 수요에 따라서 전력을 생산하는 도구로 쓰이게 된다. 인터넷 쌍방향성의 최대 특징인 하이퍼링크가 지금은 html 문서에서만 작동하지만, 앞으로는 동영상과 같은 다양한 형태의 하이퍼링크를 만나게 된다. &lt; <A class=keyword onmouseover=UI.toolTip(event) title=&amp;gt;검색하기 href="http://search.daum.net/search?w=tot&amp;q=%BD%BA%C5%B8%BF%F6%C1%EE&amp;nil_profile=newskwd&amp;nil_id=v20080929191104192" target=new>스타워즈</A> &gt; 의 추격 장면을 볼 때 &lt; 벤허 &gt; 의 전차 경주가 하이퍼링크를 통해 연결되는 방식이다. <BR><BR>한편 지난 30년간 피시, 컴퓨터바이러스, 아이폰 열풍 등을 예고해온 &lt; 인포월드 &gt; 는 정보통신 기술분야에서 10가지 변화가 10년 안에 닥칠 것이라고 예측해 눈길을 끌었다. 다음은 인포월드가 제시한 10가지 미래 쇼크다. <BR><BR><STRONG>■ 클라우드 컴퓨팅 </STRONG><BR><BR>5년 안에 정보기술 전반이 웹의 자원을 이용해 결과만을 받아보는 클라우드 서비스로 바뀐다. 중앙컴퓨터에서 모든 자료를 처리하고 이용자 피시는 결과만 받아본다. <BR><BR><STRONG>■ <A class=keyword onmouseover=UI.toolTip(event) title=&amp;gt;검색하기 href="http://search.daum.net/search?w=tot&amp;q=%BB%E7%C0%CC%BA%B8%B1%D7&amp;nil_profile=newskwd&amp;nil_id=v20080929191104192" target=new>사이보그</A> 열풍 </STRONG><BR><BR>유비쿼터스 환경으로 사람과 기계를 연결하는 인터페이스가 확산된다. 특수안경을 통해 실제 모습에다 기계장치가 본 모습을 덧입혀 보여준다. 인구의 절반이 사이보그가 되지만 알아차리지 못하고, 현실세계를 망가뜨릴 만큼 치명적인 사이보그 대상 바이러스가 출현한다. <BR><BR><STRONG>■ 기다림없는 운영체제 </STRONG><BR><BR>이용자가 원하는 작업들을 동시에 즉시 처리하고, 에러가 일어나지 않는 피시 운용체제가 나온다. 모래시계 따위는 사라진다. <BR><BR><STRONG>■ 모든 게 기록된다 </STRONG><BR><BR>한 사람 일생의 모든 정보를 기록하는 이른바 '메멕스'가 등장한다. 사람이 한 말, 만난 사람, 동선이 모두 기록되며 검색된다. <BR><BR><STRONG>■ <A class=keyword onmouseover=UI.toolTip(event) title=&amp;gt;검색하기 href="http://search.daum.net/search?w=tot&amp;q=%BD%BA%B8%B6%C6%AE%C6%F9&amp;nil_profile=newskwd&amp;nil_id=v20080929191104192" target=new>스마트폰</A>이 대세로 </STRONG><BR><BR>전화, 얼굴 인식, 위치 인식, 동영상 시청 등 생활의 중심에서 스마트폰이 주된 정보기기로 쓰인다. 공중에 가상 키보드를 띄워 입력할 수 있게 하는 기술도 결합한다. <BR><BR><STRONG>■ 노동 의존 낮은 제조업 </STRONG><BR><BR>자동화로 제조업 부문에서 인간 노동에 대한 의존이 크게 줄어든다. 2018년께 미국은 자동화의 도움으로 경제는 지속성장하겠지만, 그 대가를 임금으로 받는 사람은 대폭 감소한다. <BR><BR><STRONG>■ 완벽한 이미지 인식 </STRONG><BR><BR>이름 모를 꽃이나 버섯 사진을 찍어서 검색엔진에서 올리면 이미지 인식을 통해 알려준다. 동식물, 행인, 자동차 등 어떤 이미지이든 검색엔진이 실체를 밝혀준다. <BR><BR><STRONG>■ 잠들지 않는 '빅브라더' </STRONG><BR><BR>모든 사람에 대한 정부의 추적과 감시가 일상화한다. 얼굴인식 기술이 길거리마다 배치된 카메라와 결합한다. <BR><BR><STRONG>■ 끊기지 않는 연결 </STRONG><BR><BR>언제 어디서나 정보 연결이 중단되지 않는 정보의 사슬 속에 살게 된다. <BR><STRONG>■ 관계의 변화 </STRONG><BR><BR>온라인 인맥과 실제 인맥의 구별이 사라지게 되어 인간관계의 근본적 변화가 찾아온다.<!--"<--> ]]> </description>
<category>핫이슈</category>
<category>IT</category>
<pubDate>Wed, 12 Nov 2008 10:17:00 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/252</guid>
</item>
<item>
<title>wap서버구축</title>
<link>http://syabang.com/blog/wolf/index.php/post/250</link>
<description><![CDATA[ <STRONG>#1 왑서버 구축 방법</STRONG> 
<P><BR>왑서버라고 해서 특별한거는 없습니다.<BR>일반 웹서버를 사용해서 구축하시면 바로 웹서버가 되는 겁니다.<BR><BR>Unix 계열 호스트를 사용하시면 Apache 를,<BR>Windows 계열 호스트를 사용하시면 IIS 를 사용하면 됩니다.<BR><BR><BR>[Apache 에서 왑세팅]<BR><BR>config 파일 중에 mime.types 를 열어서<BR><BR>text/vnd.wap.wml wml<BR>text/vnd.wap.wmlscript wmls<BR>image/vnd.wap.wbmp wbmp<BR><BR>위 항목이 없으면 추가해 주시면 됩니다. (요즘은 기본으로 들어가 있습니다.)<BR><BR><BR><BR>[IIS 에서 왑세팅]<BR><BR>웹서버 등록정보 창에서 <BR>-&gt; "HTTP 헤더" 탭선택<BR>-&gt; MIME 매핑 영역에서 "파일 형식(F)" 버튼 클릭<BR>-&gt; 파일 형식 창에서 "새 형식(N)" 버튼 클릭<BR><BR>연결된 확장명(A) 컨텐트 형식(MIME)(C)<BR>.wml text/vnd.wap.wml <BR>.wmls text/vnd.wap.wmlscript <BR>.wbmp image/vnd.wap.wbmp <BR><BR>위 세가지를 등록해 주시면 됩니다.<BR><BR><BR><BR>그리로 웹서버에서 html파일 작성하듯이 wml, wmls 파일을 작성하시면 됩니다.<BR>동적인 왑페이지를 만드시려면 php나, asp를 사용하시면 되겠지요.<BR><BR>단 php나 asp를 사용하실 때는 Content-Type 헤더를 설정해 줘야 합니다.<BR><BR>[php일 경우 Content-Type]<BR>header("text/vnd.wap.wml; charset=KS_C_5601-1987");<BR><BR>[asp일 경우 Content-Type]<BR>Response.ContentType = "text/vnd.wap.wml; charset=KS_C_5601-1987"<BR><BR><BR><BR><BR><STRONG>#2 개발중인 왑페이지 핸드폰으로 접속하기<BR></STRONG><BR>우선 개발중일 때는 핸드폰보다 WAP시뮬레이터를 사용하시는 것이 좋습니다.</P>
<P><A class=con_link href="http://developer.openwave.com/dvl/tools_and_sdk/phone_simulator/" target=_blank>http://developer.openwave.com/dvl/tools_and_sdk/phone_simulator/</A><A href="http://www.openwave.com/us/products/mobile/developer_products/phone_simulator/index.htm" target=_blank></A></P>
<P>&nbsp;</P>
<P>위 사이트에 가시면 다운 받을 수 있습니다.</P>
<P>&nbsp;</P>
<P>핸드폰으로 접속 해 보시려면 (011로 예를 들겠습니다.)</P>
<P>&nbsp;</P>
<P>"네이트 버튼" -&gt; (URL 직접 입력이 있으면 여기다기 입력 하시면 됩니다. -&gt; 끝)</P>
<P>-&gt; [My홈] 선택</P>
<P>-&gt; [나만의 메뉴] 페이지에서 </P>
<P>&nbsp;</P>
<P>[삼성 에니콜]은 [메뉴] 버튼을 약 3초간 길게 클릭!!<BR>[LG 싸이언]은 [통화(홈)]버튼을 살짝 클릭!!<BR>[모토로라]는 n-top또는 nate버튼을 클릭!!<BR></P> ]]> </description>
<category>2003 server</category>
<category>wap</category>
<pubDate>Wed, 20 Aug 2008 10:15:26 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/250</guid>
</item>
<item>
<title>GetRows 메서드를 이용한 성능향상</title>
<link>http://syabang.com/blog/wolf/index.php/post/249</link>
<description><![CDATA[ GetRows 메서드란 무엇이며 사용해야 하는 이유는 무엇인가?<BR>GetRows 메서드란 레코드셋을 하나의 배열로 변환시키는 메서드를 말한다. 즉 GetRows 메서드를 통해 우리는 레코드셋을 하나의 변수에 배열로 반환시킬 수 있다는 뜻이다. 그렇다면, 왜 우리는 이 메서드를 굳이 사용해야 하는 것일까?<BR><BR>게시판을 예로 들어보자. 필자가 보아온 대부분의 게시판들은 게시물 List를 생성할 때 ADO객체를 사용하여 레코드셋을 생성한 후 루프문을 통해 리스트를 생성하는 방식을 취하고 있다. <BR><BR>아래 샘플 코드를 보자.<BR><BR>
<TABLE cellSpacing=0 borderColorDark=white cellPadding=5 width="100%" bgColor=#efefef borderColorLight=black border=1>
<TBODY>
<TR>
<TD><FONT size=1>&lt;% <BR><BR>strTempSql = "SELECT * FROM [테이블]"<BR><BR>SET objRs = Server.CreateObject("ADODB.RECORDSET")<BR><BR>objRs.Open strTempSql, [커넥션스트링], adOpenForwardOnly, adLockReadOnly, adCmdText<BR><BR><BR>If objRs.Eof Then <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do Until objRs.EOF<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'==리스트 생성==<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objRs.MoveNext <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loop<BR><BR>End If<BR><BR><BR>objRs.Close : Set objRs = Nothing<BR><BR>%&gt;</FONT> </TD></TR></TBODY></TABLE><BR><BR>위 코드를 보고 무엇이 잘못되었나 하고 의아해 하는 독자들도 있을 것이다. 위 코드는 가장 대중적인 방법으로 많은 ASP책에서 예로 사용하고 있는 기법이며, 많은 개발자들이 위 형식을 취하고 있다. <BR><BR>그렇다면, 위 코드의 단점은 무엇일까? 바로 리스트를 생성하는 동안 레코드셋 객체를 계속 참조해야 한다는 것이다. 위와 같은 코드가 여러 곳에 배치되어 있는 페이지를 생각해 보라. 동시접속자가 많아 질수록 성능은 극도로 나빠질 것이다. 이를 해결하기 위한 방법으로 GetRows 메서드의 사용을 고려해 보아야 한다.<BR><BR>위 샘플코드에 GetRows 메서드를 사용해 보자.<BR><BR>
<TABLE cellSpacing=0 borderColorDark=white cellPadding=5 width="100%" bgColor=#efefef borderColorLight=black border=1>
<TBODY>
<TR>
<TD><FONT size=1>&lt;% <BR><BR>strTempSql = "SELECT * FROM [테이블]"<BR><BR>SET objRs = Server.CreateObject("ADODB.RECORDSET")<BR><BR>objRs.Open strTempSql, [커넥션스트링], adOpenForwardOnly, adLockReadOnly, adCmdText<BR><BR><BR>If objRs.Eof Then <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrRows = objRs.GetRows()<BR><BR>End If<BR><BR>'GetRows 메서드 사용 후 객체를 바로 해제시킨다.<BR><BR>objRs.Close : Set objRs = Nothing<BR><BR><BR>'GetRows를 이용하여 배열로 반환이 되었다면 리스트를 생성한다.<BR><BR>If IsArray(arrRows) Then<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Ubound를 사용하여 크기를 알아내자<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For intI = 0 To Ubound(arrRows, 2)<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'== 리스트를 생성한다.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<BR><BR>End If<BR><BR>%&gt;</FONT> </TD></TR></TBODY></TABLE><BR><BR>GetRows 메서드를 사용하여, 레코드셋 객체에 대한 참조를 바로 해제 시키는 것을 볼 수 있다. <BR><BR>GetRows 메서드를 사용하여 배열로 반환 후 배열의 특성을 사용하여 리스트를 생성함으로써, 웹 서버의 자원 낭비를 감소시키게 되었다. 이로 인해 웹사이트는 더욱 빠른 성능을 사용자에게 제공할 수 있을 것이다. 객체가 차지하는 리소스를 얼마나 빨리 반환해 주느냐에 따라 페이지의 성능은 크게 좌우된다는 것을 알 것이다. <BR><BR>프로그래밍을 하면서 끊임없이 고민해야 할 점은 “어떻게 하면 최소의 비용으로 최대의 성능을 낼 수 있을까?” 라는 부분이다.
<P> 
<DIV class=autosourcing-stub>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN: 11px 0px 7px; PADDING-TOP: 0px; FONT-STYLE: normal; FONT-FAMILY: Dotum"><A href="http://blog.naver.com/dudwo00" target=_blank></A>&nbsp;</P></DIV>
<P></P> ]]> </description>
<category>ASP 프로그래밍</category>
<category>GetRows</category>
<pubDate>Tue, 27 May 2008 10:04:18 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/249</guid>
</item>
<item>
<title>include에 변수 사용하기</title>
<link>http://syabang.com/blog/wolf/index.php/post/248</link>
<description><![CDATA[ <P><FONT size=2>강좌 전 태오의 잡담&gt;</FONT></P>
<P><FONT size=2>이 강좌는 Danny(전성대) 님께서 제공하는 유용한 팁들의 퍼레이드 랍니다. ^^ </FONT></P>
<P><FONT size=2>참. 전성대님의 메일주소는 </FONT><A class=con_link href="mailto:junsd@korea.com" target=_blank><FONT size=2>junsd@korea.com</FONT></A><FONT size=2> 이니까요. <BR>강좌와 관련하여 추가적으로 궁금한 부분이 있거나 하시면 메일로 문의하세요 ^^ </FONT></P><FONT size=2>
<HR width="100%" SIZE=1>
</FONT>
<P><FONT size=2>메뉴를 만들어놓고 큰 메뉴에 따라 작은 메뉴를 include 해서 사용하는게 보통입니다. 개발을 하다보면 수많은 include 작업을 하게 되지요. 해서, 이번에는 효과적인 include 에 대한 내용을 살펴보겠습니다. </FONT></P>
<P><FONT size=2>보통 asp에서는 </FONT></P>
<P>
<TABLE style="WIDTH: 469px; HEIGHT: 27px" cellSpacing=1 cellPadding=5 width=469 bgColor=#808080 border=0>
<TBODY>
<TR bgColor=#ffffff>
<TD style="PADDING-LEFT: 20px"><FONT size=2>&lt;!--#includefile=&lt;%=변수%&gt;--&gt; </FONT></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>하게되면 인크루드 Error가 납니다. </FONT></P>
<P><FONT size=2>왜냐하면, include 는 asp를 파싱하여 변수의 값으로 인크루드 하는게 아니고 그 변수명 자체를 가지고 인크루드 하기때문입니다. 그렇다면 무엇이 문제일까요? 파싱 순서에 문제가 있을까요? </FONT></P>
<P><FONT size=2>그렇다면 이렇게 한번 해보지요. Request.QueryString 으로 mode 값을 받았다고 생각해 봅시다. </FONT></P>
<P>
<TABLE style="WIDTH: 466px; HEIGHT: 92px" cellSpacing=1 cellPadding=5 width=466 bgColor=#808080 border=0>
<TBODY>
<TR bgColor=#ffffff>
<TD style="PADDING-LEFT: 20px"><FONT size=2>mode = Request.QueryString("mode") <BR>if mode = a then <BR>&nbsp;&nbsp;&nbsp; &lt;!--#include file="a.asp"--&gt; <BR>elseif mode = b then <BR>&nbsp;&nbsp;&nbsp; &lt;!--#include file="b.asp"--&gt; <BR>end if </FONT></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>이렇게 해보았습니다. 근데 이건 정말 잘 되는군요. 하지만......&nbsp; 설마 진짜로, Request.QueryString 로 받은 mode 값에 따라서 if 문을 쓰실 건 아니시죠? 메뉴가 한두개도 아닐것이며, 너무 비 효율적이기 때문입니다. </FONT></P>
<P><FONT size=2>그렇다면 </FONT></P>
<P>
<TABLE style="WIDTH: 466px; HEIGHT: 27px" cellSpacing=1 cellPadding=5 width=466 bgColor=#808080 border=0>
<TBODY>
<TR bgColor=#ffffff>
<TD style="PADDING-LEFT: 20px"><FONT size=2>&lt;!--#include file="&lt;%=mode%&gt;.asp"--&gt; </FONT></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>이런 효과를 낼수 있는 방법은 정령 없을까요? <BR>(이렇게 하면 바로 에러난다고 말씀드렸죠? 에러구문을 써본것입니다.^^) </FONT></P>
<P><FONT size=2>왜 없겠습니까? 바로!!! 이럴 때에는 다음과 같이 변수값을 받아서 </FONT></P>
<P>
<TABLE style="WIDTH: 466px; HEIGHT: 40px" cellSpacing=1 cellPadding=5 width=466 bgColor=#808080 border=0>
<TBODY>
<TR bgColor=#ffffff>
<TD style="PADDING-LEFT: 20px"><FONT size=2>dirFile = Request("mode") + ".asp"<BR>Server.Execute(dirFile) </FONT></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>이렇게 하면 include 가 된답니다. ASP 3에서부터 지원되는 Execute 메서드의 도움으로 말입니다. server.execute 는 asp 언어로 include 와 비슷한 역할을 하기때문에 순차적으로 파싱이 되어 dirFile 의 값으로 된 파일을 인크루드 할수 있습니다. </FONT></P>
<P><FONT size=2>많이 사용되는 구문이니 기억해 </FONT></P> ]]> </description>
<category>ASP 프로그래밍</category>
<category>include</category>
<pubDate>Fri, 29 Feb 2008 10:27:43 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/248</guid>
</item>
<item>
<title>sql 카운터</title>
<link>http://syabang.com/blog/wolf/index.php/post/247</link>
<description><![CDATA[ <P>1.COUNT(*) : NULL값 포함<BR>2.COUNT(DISTINCT expression) : NULL,중복 제거<BR>3.COUNT(ALL expression) : NULL제거, 중복 포함<BR>4.COUNT(expression) : 'EXPRESSION이 NULL이 아닌값들의 갯수' <BR>&nbsp;</P>
<P>카운트는 사물의 숫자를 세듯 하나, 둘,~~~ 이게 카운터 아닌가!<BR>돼지 몇마리~~~,&nbsp; 소 몇마리~~~,&nbsp;&nbsp; 이런식으로 종류별로 카운트가 될수 있겠고 </P>
<P>'1번'은 책이나 지식인에 따른 내용에 의하면 '0'도 아니고 '공백'도 아닌 'null'를 포함해서 카운트 한다....??? </P>
<P>'2번'은 'null'은 포함 중복된 내용은 제거하고 카운트 한다....? </P>
<P>'3번' 'null'은 제거 중복된 내용은 포함해서 카운트 ...&nbsp;&nbsp; ? </P>
<P>'4번' "'EXPRESSION(수식-어떤 값을 계산하는 숫자 변수 함수 호출 결과값)이 'null'아닌값들의 갯수...?? </P>
<P>어떻게 활용할지는 아직 잘 모르겠으나 간단한 형식은&nbsp; 일단 아래와 같이 문제 풀이를 해보았다! </P>
<P>직종별 사원의 숫자를 출력</P>
<P>select a.job<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ,count(a.sal)<BR>&nbsp;&nbsp; from emp a</P>
<P>&nbsp; group </P>
<P>&nbsp;</P> ]]> </description>
<category>컴퓨터 Tip</category>
<category>카운터</category>
<category>sql</category>
<pubDate>Mon, 25 Feb 2008 15:25:13 +0900</pubDate>
<guid>http://syabang.com/blog/wolf/index.php/post/247</guid>
</item>
</channel>
</rss>
