윈도우 (Windows)2016. 3. 25. 17:28

[개요]

이제 웹서버와 데이터베이스 서버를 연결해 보도록 합시다.

 앞으로 간단한 게시판을 만들고 게시판에 들어갈 데이터베이스 서버를 구축 하고 쿼리문을 이용하여 데이터를 관리 하는 방법을 알아 봅시다.

  보안 측면에서 sa 계정으로 바로 데이터 베이스 서버에 연결을 하게 되면 굉장히 위험합니다. 따라서 하나의 계정을 추가한 데이터베이스 서버를 만들고 이를 연결하는 방법을 알아보도록 합시다.

1. DataBase구축

실습용 Database/Table 생성 record입력, 로그인(암호설정 포함) 사용자생성

DB이름 : testDB , DB소유자: sa

LOGIN 계정 : asp_user , 암호:1234

사용자 계정 : asp_user




Database 생성( 계정으로 생성)

개체 탐색기> 보안 > 로그인 > 마우스 우클릭 > 로그인 > SQL Server 인증으로 변경 > 패스워드 입력 > 확인


SQL 서비스 재시작

실행 > services.msc > SQL Server (MSSQLSERVER) 재시작


개체탐색기에서 연결 끊기 다시 연결

1. 테이블생성 (asp_user계정으로 로그인 후 작업)

USE testDB

CREATE TABLE freshman(

num varchar(50) NOT NULL PRIMARY KEY,

name varchar(50) NOT NULL,

dept varchar(50) NOT NULL,

credit float(8)

)

2. 로그인생성(암호설정)

USE master

CREATE LOGIN [asp_user] WITH PASSWORD=N'1234',

DEFAULT_DATABASE=[testDB],

DEFAULT_LANGUAGE=[한국어],

CHECK_EXPIRATION=OFF,

CHECK_POLICY=OFF

3. 사용자 생성

USE [testdb]

CREATE USER [asp_user] FOR LOGIN [asp_user]

   

 

4.권한부여

USE master

GRANT VIEW ANY DATABASE TO asp_user

USE testDB

GRANT SELECT,UPDATE,INSERT,DELETE ON freshman TO asp_user

5.데이터입력

USE testDB

INSERT INTO freshman VALUES('20070001','스티브잡스','컴퓨터공학',3.69)

INSERT INTO freshman VALUES('20070002','보링','기계공학',4.21)

INSERT INTO freshman VALUES('20070101','고흐','서양미술',4.18)

INSERT INTO freshman VALUES('20070301','샤라포바','사회체육',4.36)

INSERT INTO freshman VALUES('20070401','모짜르트','실용음악',4.11) 


2. IIS 연동  

제어판 - 관리도구 - 데이터원본(ODBC) - 시스템DSN   - 추가   - SQL Server  마침


이름  : 임의로 정해도 (ex. sqlgrade)

서버 : local  (서버 선택하는데 시간이 상당히 걸릴수도 있으나 기다리면 됩니다.)

아래 그림 처럼 사용자가 입력한 로그인 ID 암호를 사용하는 SQL Server 인증 사용 클릭

로그인 - Database에서 설정했던 아이디, 암호 입력

기본테이블 설정

마침 - 데이터 원본 테스트 클릭을 하였을때

아래처럼 테스트 결과가 정상적으로 성공하였다면 제대로 연동이 것이다.



3. IIS ASP 연동 설정

IIS ASP모듈/확장자 등록확인


부모 경로 사용  => True 확인

4. 간단한 연동 테스트

C:\inetpub\wwwroot\Default.asp ß생성

<%Response.Write"<H1>ASP인식성공</H1>"%> ß 내용삽입 

위의 내용을 입력한 후 웹브라우저에서 정상 실행되는지 확인




데이터 인출을 위한 ASP파일 작성(sqlsearch_ole.asp)(OLEDB연결)

<html>

<body>

<h2>레코드검색하기</h2>

<hr><hr>

<%

   Dim DBconnectionSTR, DB

   DBconnectionSTR = "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=asp_user;Initial Catalog=testDB;Data Source=localhost"

   Set DB = Server.CreateObject("ADODB.Connection")

   DB.Open DBconnectionSTR

 

   SQL="select name,credit from freshman WHERE dept= '컴퓨터공학'"

   set rs = db.execute(SQL)

 

   Do Until rs.EOF

  

   strName      = rs("name")

   strCredit   = rs("credit")

 

   Response.Write strName &"/"& strCredit &"<br>"

 

   rs.moveNext

   Loop

  

   rs.close()

   set rs = Nothing

 

   DB.Close

   Set DB=Nothing

%>

</body>

</html>



Posted by 랩퍼우