1 / 31

내용의 순서

내용의 순서. 데이터베이스연결 ODBC 를 통한 연결 OLEDB 를 통한 연결 SQL Example Select, Insert, Update, Delete ASP 객체 설명 ADO 객체 MS SQL Client 를 통한 MS SQL Server 제어. 시작 -> 프로그램 -> 관리도구 -> 데이터원본 !. 1. 데이터베이스연결. 1-1 ODBC 를 통한 연결 ODBC 에서 DSN 만들기와 연결문자 만들어 사용하기. 시스템 DSN 의 밑에 설명을 한번 읽어보고 추가 -> 확인 !.

cicely
Download Presentation

내용의 순서

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 내용의 순서 • 데이터베이스연결 • ODBC를 통한 연결 • OLEDB를 통한 연결 • SQL Example • Select, Insert, Update, Delete • ASP객체 설명 • ADO 객체 • MS SQL Client를 통한MS SQL Server 제어

  2. 시작->프로그램->관리도구->데이터원본! 1. 데이터베이스연결 • 1-1 ODBC를 통한 연결 • ODBC에서 DSN만들기와 연결문자 만들어 사용하기

  3. 시스템DSN의 밑에 설명을 한번 읽어보고추가->확인!

  4. 여러 드라이브중에 맨 밑의 SQL SEREVR를 선택하고 마침을 누름! DSN이름을 임의로 준다( 여기서는 "Dboard“) 서버는 (Local)을 주고 다음을 누름!

  5. 아래버튼을 체크하고 SQL서버에서 만든 SQL인증의 로그인(사용자) kim,1234를 로그인 ID로 kim (이게 나중에 ODBC에서 UID가 됨)을 암호로 1234 (이게 나중에 ODBC에서 PWD가 됨)를 넣어줌! 사용할 데이터베이스를 선택하고 다음 클릭 !

  6. 여기서는 디폴트 상태로 마침을 누름! 원본테스트를 한번하고 확인을 누름!

  7. Dboard란 이름으로 SQL서버에 접근하는 DSN이 하나 생겼음을 확인 할 수 있다확인을 눌러 끝을 낸다DSN은 긴 문자열을 사용하는 대신 짧은 이름의 단축키를 하나 만들었다고 생각하면 된다

  8. ★★★★ ODBC의 DSN으로 연결하는 방법 첫째. 소스 중에 넣기<%Set DB=Server.CreateObject("Adodb.Connection")DB.open "DSN=Dboard; UID=kim; Pwd=1234"%>둘째. 변수를 사용하기<%Connstring= "DSN=Dboard;UID=kim;Pwd=1234"Set DB=Server.CreateObject("Adodb.Connection")DB.open Connstring%> 셋째. 인클루드 사용 (권장하는 방법입니다)♡ 변수를 저장할 페이지 : INC.ASP 파일(임의로 정함)<%Connstring= "DSN=Dboard;UID=kim;Pwd=1234"%> ♡ 사용할 페이지<!-- #include file="inc.asp" --><% Set DB=Server.CreateObject("Adodb.Connection")DB.open Connstring%>

  9. 엔터프라이저 관리자 (이하 EM)로 들어간다서버그룹안에 EC001이란 서버이름이 보인다(이게 OLEDB에서 Data Source 임)데이터베이스 접근을 위한 SQL인증의 로그인을 만들기 위해보안->로그인->오른쪽 클릭->새로그인을 클릭! 1. 데이터베이스연결 • 1-2 OLEDB를 통한 연결 • SQL서버 환경설정과 OLEDB 연결문자열 만들어 사용하기

  10. 이름(OLEDB에서 USER ID 임)넣는다SQL서버인증을 체크한다암호를 정한다 (OLEDB에서 PASSWORD임) 나머지는 그냥 두고 확인을 누름!

  11. 확인을 누름!

  12. 로그인에 kim이 생긴 것을 볼 수 있다 다음으로 데이타베이스를 만든다 있다면 사용할 데이타베이스(이게 나중에 OLEDB에서 INITIAL CATALOG임)에서사용자를 추가하기 위해 오른쪽 클릭한다 새데이타베이스 사용자를 클릭한다

  13. 로그인 상자에서 앞에서 만든 SQL인증의 로그인을 선택하고역할을 준다역할은 public와 db_owner을 체크!

  14. SALES 데이타베이스의 사용자로 kim이 올라온 것을 볼 수 있다 이상으로 ASP에서 SQL서버를 사용하기 위한 SQL서버차원의 설정을 마쳤다 이제 위에 준비한 데이터베이스에 테이블만 준비(생성)하면 된다

  15. ★★★★ OLEDB로 연결하는 방법 <%Set DB=Server.CreateObject("Adodb.Connection")DB.open "Provider=SQLOLEDB;Data Source=EC001;Initial Catalog=Sales; User ID=kim;Password=1234"%>2. 변수를 사용하기<%Connstring= "Provider=SQLOLEDB;Data Source=EC001;Initial Catalog=Sales;User ID=kim;Password=1234"Set DB=Server.CreateObject("Adodb.Connection")DB.open Connstring%> 3. 인클루드 사용 (권장하는 방법입니다)♡ 변수를 저장할 페이지 : INC.ASP 파일(임의로 정함)<%Connstring= "Provider=SQLOLEDB;Data Source=EC001;Initial Catalog=Sales;User ID=kim;Password=1234"%> ♡ 사용할 페이지<!-- #include file="inc.asp" --><% Set DB=Server.CreateObject("Adodb.Connection")DB.open Connstring%>

  16. 2. SQL Example *******************************************************************NEWS 테이블 생성 쿼리문쿼리분석기를 실행시켜 아래 소스를 실행시킨다******************************************************************* CREATE TABLE [dbo].[NEWS] ([sid] [int] NOT NULL ,[subject] [varchar] (80) NOT NULL ,[content] [text] NOT NULL ,[pass] [varchar] (10) NOT NULL ,[visit] [int] NOT NULL ,[stime] [varchar] (10) NOT NULL) ON [PRIMARY] GO

  17. <!-- "inc.asp“파일의 내용 --> <%'엑세스 사용시 아래 두줄을 사용spath=server.mappath(".") & "\NEWS.mdb" ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & spath 'SQL서버 사용시 아래 한 줄을 사용'ConnString = "Provider=SQLOLEDB;Data Source=서버이름(또는IP주소);Initial Catalog=데이타베이스이름;User ID=?;Password=?;" %> 2. SQL Example

  18. '검색할 필드와 단어를 전송 받는다Field = Request.Form("Field")Str = Request.Form("Str")Set RS = SERVER.CreateObject("ADODB.Recordset")RS.CursorType = 3SQL = "SELECT Sid,Subject,Visit,Stime FROM NEWS "'검색이냐 아니냐에 따라if Str<>"" then SQL = SQL & " WHERE " & FieldSQL = SQL & " LIKE '%" & Str & "%'"end ifSQL = SQL & " ORDER BY sid DESC"RS.Open SQL, ConnString 2. SQL Example(Select)

  19. <!-- #include file="inc.asp" --> Set DB =Server.CreateObject("ADODB.Connection")DB.open ConnStringSQL = "SELECT MAX(sid) FROM NEWS"Set RS = DB.Execute(SQL)'데이타베이스에 저장한다SQL = "INSERT INTO NEWS VALUES ("SQL = SQL & NsidSQL = SQL & ",'" & Subject & "'"SQL = SQL & ",'" & Content & "'"SQL = SQL & ",'" & Pass & "'"SQL = SQL & ",1"SQL = SQL & ",'" & STime & "')"DB.Execute SQL 2. SQL Example(Insert)

  20. <!-- #include file="inc.asp" --> Set DB = Server.CreateObject("ADODB.Connection")DB.open ConnString'디비에 저장된 비밀번호를 가져온다SQL = " SELECT top 1 pass FROM NEWS "SQL = SQL & " WHERE sid =" & sidSet RS = DB.Execute(SQL)OLDPass=Rs("pass")RS.CLoseSet RS=nothing<다음 장 계속..> 2. SQL Example(Update)

  21. '두개의 비밀번호를 확인한다IF (Pass = OLDPass or pass="1234") then '두개의 비밀번호가 일치하거나 1234일 경우(1234는 관리자용으로)SQL = " UPDATE NEWS "SQL = SQL & " SET Subject='" & Subject & "',"SQL = SQL & " Content='" & Content & "'"SQL = SQL & " WHERE sid = " & SidDB.Execute(SQL) 2. SQL Example(Update)

  22. <!-- #include file="inc.asp" --> Set DB = Server.CreateObject("ADODB.Connection")DB.open ConnString <코드 생략..> '두개의 비밀번호를 확인한다IF (Pass = OLDPass) or pass="1234" then '두개의 비밀번호가 일치하거나 1234일 경우(1234는 관리자용으로)Set DB = Server.Createobject("ADODB.Connection")DB.open ConnStringSQL = "DELETE from NEWS "SQL = SQL & " WHERE sid =" & sidDB.Execute(SQL) 2. SQL Example(Delete)

  23. Web Server http://www.jungbo2000.net/AspSum/login.asp 1 5 Request CheckUser.asp 7 4 Response Server (ADODB) 6 END Web Client Global.asa 2 Application DB 3 Session 3. ASP객체 (1/2)

  24. 3. ASP객체 (2/2) 1 주소입력:http://www.jungbo2000.net/AspSum/login.asp 2 Application객체 동작 (global.asa에서 Application 변수 할당) 3 Session객체 동작 (global.asa에서 Session 변수 할당 및 Session설정) 4 요청한 페이지(login.asp) 클라이언트에 전송 및 디스플레이 5 페이지에 정보를 입력하고 로그인 버튼 클릭하면 CheckUser.asp로 해당 정보 전송 이유 설명: login.asp 코드중..<FORM ACTION="CheckUser.asp" METHOD="POST">..의 내용… 참고(post방식으로 보낸 정보는 Request객체의 form 콜렉션에 정보 보관) 6 웹서버가 CheckUser.asp내의 ASP스크립트 실행, ADODB객체를 이용하여 DB연동하고 정보를 조회하는 코드를 수행하여 암호비교, 암호가 일치한다 가정하면! 7 웹서버는 암호가 맞는 경우, 클라이언트에 페이지(Msql_ist.asp) 전송 및 디스플레이 이유설명: CheckUser.asp 코드중에 Response.Redirect "MsgList.asp"문장…

  25. 4. ADO객체(1/4) • ADO(ActiveX Data Object)란 데이터베이스를 다루는 객체. • ASP에서 데이터의 처리과정은 처리요청 부분과 이 요청을 실제 처리하는 부분으로 구분 • ADO는 데이터 처리를 요청하는 부분에서 사용 • 실제 데이터 처리를 수행하는 부분은 이 ADO의 요청을 받은 데이터의 드라이브 또는 데이타제공자에게 맡겨짐

  26. 4. ADO객체(2/4) • ADO에 있는 중요한 객체 • Connection객체 : • 데이터베이스에 연결할 때 쓰는 객체 • Command객체 : • 명령을 실행할 때 쓰는 객체이며, • Recordset객체 : • 조건에 맞는 레코드를 가져오는 경우에 쓰는 객체* 외에도 많은 객체가 있다. 처음엔 이정도만 알아도 충분* 위의 3가지 객체는 데이터 관련 모든 작업(입력,수정,삭제,조회)을 수행 할 수 있다

  27. 4. ADO객체(3/4) • Connection객체 • 데이타소스에 연결하기 위해 사용하지만 연결로 끝나는 것이 아니라 SQL명령을 실행하고 그 결과로 레코드셋을 가져올 수 있다(Select문일 경우) • 서로다른 SQL문을 여러번 실행할 경우 한번 생성된 Connection객체를 넘겨주는 것이 더 효율적이다

  28. 4. ADO객체(4/4) • Recordset객체 • ASP에서 데이터베이스를 다루는 대부분을 차지하는 것이 Recordset객체이며,이는 SQL문 실행결과 생성된 레코드셋을 다루는 객체 • 레코드셋은 테이블 형태이며 실제 데이터를 다룰 때는 레코드 단위로 처리 • 따라서 레코드 단위 처리를 위해 객체 내부적으로 '레코드포인트'라는 개념을 갖고 있어 이 포인트를 이동하면서 모든 레코드를 읽을 수 있는 것이다

  29. SQL7.0설치후의 패키지 화면 5. MS SQL Client를 통한 MS SQL Server 제어 툴들의 소개- Books Online- Client network utility- Enterprise Manager- Import Export Data- MSDTC- Profiler- Query Analyzer- Server network utility- Service Manager

  30. Client network utility 실행후 화면 알리아스 명을 적고 실제 네임드 파이프나 TCP/IP 이름을 적어 이곳에 등록을 한 후 쿼리 어낼라이져나 Enterprise - Manager에서 처리!

  31. SQL Server network utility 위에서 잠시 보신 클라이언트 네트웍 유틸리티가 있었습니다. 이때 비록 이름은 파이프, TCP/IP 등이지만 이는 NT의 프로토콜이 아닌 SQL자체의 프로토콜 입니다. 클라이언트에서는 TCP/IP로 서버에 쿼리 처리를 요청하는데 서버에서 MSSQL서버용 TCP/IP 프로토콜이 설치가 안되어 있다면? 연결이 불가해 지지요. 이는 서버측의 프로토콜을 설치, 구성하는 어플리케이션 입니다.

More Related