서버접속 및 Embedded SQL 사용 가이드 다운받기
Download
Report
Transcript 서버접속 및 Embedded SQL 사용 가이드 다운받기
Embedded-SQL
홍익대학교 데이터베이스
2004년도 2학기
Database Laboratory, Hong Ik University
ORACLE 사용 준비 단계 (1)
Step 1
sol2.ce.hongik.ac.kr 에 접속
Database Laboratory, Hong Ik University
Page 2
ORACLE 사용 준비 단계 (2)
Step 2
자신의 계정으로 login
계정이 아직 발급되지 않은 경우는 admin에게 문의
Database Laboratory, Hong Ik University
Page 3
ORACLE 사용 준비 단계 (3)
Step 3
ORACLE을 사용하기 위해서 ORACLE이 설치된
220.95.134.97 에 접속
Database Laboratory, Hong Ik University
Page 4
ORACLE 사용 준비 단계 (4)
Step 4
자신의 DBLAB 계정으로 login
과제 출제 후 계정 발급
계정 : ce+자신의 학번 예) a111111인 경우는 cea111111
비밀번호 : 자신의 학번 예) a111111인 경우는 a111111
Database Laboratory, Hong Ik University
Page 5
ORACLE 사용 시작
ORACLE DBMS에 진입
sqlplus 명령어와 자신의 계정 및 비밀번호 입력
계정 : ce+자신의 학번 예) a111111인 경우는 cea111111
비밀번호 : db
sqlplus cea111111/db 라고 입력함
Database Laboratory, Hong Ik University
Page 6
ESQL Programming(1)
ESQL(Embedded SQL)
호스트에서 작성한 프로그램을 통해 DB에 접근
PL/I, PASCAL, COBOL, C 등의 범용 프로그램밍 언어로 작
성된 응용 프로그램속에 SQL 삽입
확장자 : pc
프로그램 시 참고
책에 있는 ORACLE에서의 프로그램 예제를 참조하시오.
Database Laboratory, Hong Ik University
Page 7
ESQL Programming(2)
Step 1
ORACLE의 sqlplus를 통해 자신의 데이터베이스를 구축
Step 2
Vi 와 같은 편집기를 이용하여 ESQL 프로그램 작성
Database Laboratory, Hong Ik University
Page 8
ESQL Programming(3)
Step 3
작성된 프로그램을 저장하고 컴파일
명령어 : oracle_make examp1
단, 프로그램의 확장자는 입력하지 않는다.
Database Laboratory, Hong Ik University
Page 9
ESQL Programming(4)
Step 4
디버깅 및 실행
실행할 때, 실행 파일 이름 앞에 ./ 추가
./examp1
Database Laboratory, Hong Ik University
Page 10
ESQL Programming 예(1)
static
/********************** 제일 간단한 ESQLC 예제(demo1.ec) ********************/
#include<stdio.h>
#include<string.h>
#include<sqlda.h>
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
char name[10];
int number;
double sal;
char user_name[20];
char pass[10];
EXEC SQL END DECLARE SECTION;
int main(){
strcpy(user_name, “hong");
strcpy(pass, “db");
EXEC SQL CONNECT :user_name IDENTIFIED BY :pass;
printf("\nConnected to ORACLE as user: %s\n", user_name);
EXEC SQL DECLARE sales_info CURSOR FOR
select empno, empname, sal
from sales;
EXEC SQL OPEN sales_info;
printf("Person_Number Person_Name Salary\n");
printf("======================================\n");
EXEC SQL FETCH sales_info INTO :number, :name, :sal;
printf("%11d%11s%11f\n",number, name, sal);
EXEC SQL CLOSE sales_info;
EXEC SQL COMMIT WORK;
return(0);
}
Database Laboratory, Hong Ik University
Page 11
SQLSTATE
정의
Error handling을 위한 status variable
SQL 질의문이 올바르게 실행되지 않는 경우 그 원인을 분
석하기 위해 사용하는 variable
형식
2-character class code + 3-character subclass code
Database Laboratory, Hong Ik University
Page 12