UniSQL/X 실습과제 (1) ■ 실습 기간: ~

Slides:



Advertisements
Similar presentations
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
Advertisements

C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
Efl을 이용한 타이젠 네이티브 웨어러블 앱 만들기
Linux/UNIX Programming APUE (The Environment of a UNIX Process)
PL/SQL.
2016 ITA 1월 강의 C Programming -4일차- 포인터배열 및 이중포인터 정대진 ( )
OpenGL 실습 1주차.
Database Laboratory, Hong Ik University
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
Oracle Embedded SQL Pro*C : Chap 5 Copyright by SunYoung Kim
Proc*C 기초 Style System 김도형.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
DB 구축과 프로그래밍 CASE 도구인 ERwin을 설치하고 셋업하는 방법을 익힌다.
SK건설 VPN ‘자동연결’ 설치방법 1 Mail의 Link Click 시 아래의 화면이 나타납니다. “실행” Click 1
TUXEDO 프로그래밍 가이드.
FUSING.
임베디드 프로그래밍 Lecture #
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
Department of Computer Engineering
공학기초설계 Youn-Hee Han 강의 소개 & MinGW & gcc 공학기초설계 Youn-Hee Han
Chapter 01 데이터베이스 시스템.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
Network Lab. Seoung Hyeon, Lee
6 프로세스 생성과 실행.
Linux System Programming
MicroC/OS-II Lab. 경희대학교 컴퓨터공학과 조 진 성.
6장 비연결형 지향 프로토콜 Database Lab 강 우 석.
제 12장 I/O멀티플렉싱(Multiplexing)
Chapter 05 데이터베이스 프로그래밍.
Department of Computer Engineering
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
시스템 보안 백 도 어 학번: 이름: 김 준 일.
누구나 즐기는 C언어 콘서트 제2장 기초 사항.
Internet Protocol and Programming
Term Project Team Member
Beginning Linux Programming
Homework 6… 12월 2일(금) 11:59pm까지 자신의 이름과 학번을 출력해 주는 유닉스/리눅스 네트워크 소켓 서버 프로그램 과 클라이언트 프로그램 을 작성해 보세요 참고 (실습1) Hello 프로그램 helloserver.c helloclient.c 컴파일.
1장. 프로그래밍 언어, C 프로그래밍.
제 3 장 상수와 변수
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
Chapter 3 클래스. 최호성.
제 11 장 전처리기.
adopted from KNK C Programming : A Modern Approach
Computer Graphics OpenGL 설치 및 설정
2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수
OpenCV 설치 및 구성 OpenCV
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Internet Protocol and Programming
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Operating System Multiple Access Chatting Program using Multithread
Department of Computer Engineering
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
C언어 개론.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
Execution with Unnecessary Privileges
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
Internet Protocol and Programming
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
Stored program 장종원
argc, argv 의 사용방법 #include <stdio.h>
Makefile
C.
Presentation transcript:

UniSQL/X 실습과제 (1) ■ 실습 기간: 2004. 5. 17 ~ 2003. 5. 22 ■ 제출 마감: 2004. 5. 23 새벽 1시 ■ 제출물: 기재된 웹 사이트에 명시된 ‘공지’를 읽고 공지에 맞추어 과제물을 제출한다. 첨부 파일로 자신의 학번과 이름으로 이루어진 “학번(이름).zip” 형식의 압축 파일을 제출하여야 한다. 압축 파일은 아래 파일을 포함하여야 한다. 1. 프로그램 소스 파일 및 실행 프로그램 파일 압축 파일에는 반드시 2개의 프로그램 소스 파일 및 2개의 실행 프로그램 파일이 있어야 한다. 프로그램 소스 파일 및 실행 프로그램 파일의 이름은 실습 과제 설명서에 있는 이름을 사용하여야 한다. 2. 캡쳐 파일: cap_??.jpg 실습 중에 자신의 실습을 증명할만한 화면을 캡쳐한다. 화면 캡쳐시 디스플레이 설정 상태는 1024*768 해상도에 256 컬러야만 한다. 파일 저장 형식은 “jpg” 형식을 사용하고, 캡쳐 파일 이름은 “cap_??.jpg"로 한다. 물음표에 해당하는 부분은 “01”부터 시작하는 일련 번호를 적는다. 화면 캡쳐는 반드시 윈도우 화면 전체를 대상으로 캡쳐하고 오른쪽 하단에 현재 시간이 포함되어야 한다. 즉 현재 활성화된 윈도우만 캡쳐해서는 안된다. “cap_01.jpg”부터 “cap_03.jpg”까지는 UniSQL 설치 관련된 화면을 캡쳐하고, “cap_04(1).jpg”와 “cap_04(2).jpg” 는 Demo DB 설치와 실행 관련된 화면을 캡쳐한다. “cap_05.jpg”부터 “cap_07.jpg”까지는 CLI 프로그래밍 수행 과정(환경 변수 관련 화면, 컴파일 화면, 실행 화면)을 캡쳐하고, “cap_08.jpg”부터 “cap_10.jpg”까지는 embedded SQL 프로그래밍 수행 과정(esqlx 전처리 화면, 컴파일 화면, 실행 화면)을 캡쳐한다. ■ 제출할 곳 - 주간반(월/수) : http://www.ghwa.net/zeroboard/zboard.php?id=04dbday1 - 주간반(화/금) : http://www.ghwa.net/zeroboard/zboard.php?id=04dbday2 - 야간반 : http://www.ghwa.net/zeroboard/zboard.php?id=04dbnight

1. NT용 UniSQL 설치하기 1.1 http://dev.unisql.com 페이지에서 Downloads 메뉴를 선택한다. 1.2 회원가입 혹은 로그인 한다.

② ① ③ 1.3 최신버전 > INTEL X86 Windows NT4.0 or 2000 > UniSQL5.2P7_INTEL-x86-W2K(UniCAS4.6.2-TCL8.0).zip 을 다운 받는다. ① ② ③ 1.4 Key Request 메뉴에서 OS 와 Key를 받을 e-Mail 주소를 입력한 후 Key 를 전송 받는다.

1.5 UniSQL을 설치하고 모든 과정은 Default 설정으로 한다. ① ② ③

④ ⑤

⑥ ⑦ ⑧ Reboot 선택 전송 받은 key 입력

2. DEMO DB 설치와 실행 1.6 System 을 재부팅 후 UniSQL 이 설치된 것을 확인한다. 2.1 ‘C:\UniSQL\UniSQL\DEMO\makedemo.bat’ 을 실행한다. 2.2 시작메뉴 > 프로그램 > UniSQL > UniSQL Manager 를 실행하면 화면 우측 하단에 UniSQL Manager 아이콘이 나타난다. 2.3 나타난 아이콘에 오른쪽 클릭 후 UniSQL > Start 하면 선택 할 수 있는 DB 의 목록이 나타나고(그림 참조), DB 선택 후 OK 버튼을 누르면 아이콘이 파란색으로 변하며 동작하고 있음을 알 수 있다.

① ② ③ 3. 기본적인 UniSQL CLI programming ※ 이하 모든 과정은 Visual C++ 6.0 이 설치되어 있다고 가정한다. 단 여러 User 가 사용하는 Computer의 경우, Visual C++ 6.0 설치자와 사용자가 다를 수 있으므로 아래 시스템 환경변수(Windows 98인 경우 autobat.exe)를 확인 하고, 관련 내용이 없는 경우 추가해 준다. path = C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin include = C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include lib = C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib MSDevDir = C:\Program Files\Microsoft Visual Studio\Common\MSDev98 ※ 시스템 환경변수 추가하는 법 제어판  시스템  고급 탭  환경변수 ① ② ③

(아래 예제는 UniSQL 에 접속하는 프로그램이다. 파일명은 conntest.c)) #include <stdio.h> #include "dbi.h" /* our test function below */ extern void do_test(); void main(int argc, char *argv[]) { /* connect to the database */ printf("Attempting connection to data source demodb\n"); if (db_restart(argv[0], 0, “demodb”)) { printf("Couldn't establish connection to the data source:\n"); printf(">> %s\n", db_error_string(3)); } else { printf("Connection successful\n"); db_shutdown(); printf("Connection closed\n");

3.2 아래와 같은 내용의 TEXT 파일을 작성하고, ‘conntest.mak’ 란 이름으로 저장한다. # # $Revision: 3.1 $ # Makefile for NT example. # Change PROJ to the name of the executable you want to produce. PROJ = conntest OFILES = $(PROJ).obj INCLUDES = /I$(UNISQLX)\include \ /I"C:\Program Files\Microsoft Visual Studio\VC98\Include" SYMBOLS = /D_X86_ /DNT /DPC /DMSVC /DXONE /DPRODUCTION /D_OLEAUTO_H_ DFLAGS = -debug:full -debugtype:cv CFLAGS = /nologo /c -DWIN32 -D_WIN32 /MD -Z7 -Od $(SYMBOLS) $(INCLUDES) LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE \ /NOLOGO -align:0x1000 -subsystem:console,3.50 \ -entry:mainCRTStartup LIBS = "C:\Program Files\Microsoft Visual Studio\VC98\Lib\msvcrt.lib" \ "C:\Program Files\Microsoft Visual Studio\VC98\Lib\kernel32.lib" \ $(UNISQLX)/lib/ordbcl32.lib $(PROJ).exe: $(OFILES) link $(LFLAGS) /map $(OFILES) $(LIBS) >$*.lko .C.OBJ: $(CC) $(CFLAGS) /c $*.C (이후 다른 프로그램 작성시 9번째 라인의 ‘PROJ = conntest‘ 의 ‘conntest’ 대신에 프로그램명을 넣어주면 된다. 예: dbtest.c 의 경우 ‘PROJ = dbtest’) TIP 컴파일 중 에러 시 link 에러가 발생하면, library 가 설정되지 않은 경우가 많다. ***.err (위의 예에서는 conntest.err) 파일)을 Editor 로 열어보면 필요한 lib 파일의 이름이 나와있다. 그 lib 파일을 make 파일의 LIBS 부분에 추가해 주면 된다.

3.3 DOS 창에서 nmake –f conntest.mak 명령을 실행한다. 3.4 실행 프로그램을 수행한다.

4. 기본적인 UniSQL Embedded SQL programming. 4.1 *.C 프로그램을 작성한다. (아래 예제는 UniSQL의 hotel class에서 호텔 명과 가격 정보를 가져와서, ‘H’ 로 시작하는 호텔의 가격 평균을 보여주는 프로그램이다. 파일명은 ‘staticesql’) #include <stdio.h> extern int satisfaction_guaranteed(char *name); main (int argc, char **argv) { float total_cost = 0.0; int n_cost = 0; EXEC SQLX WHENEVER SQLERROR STOP; uci_startup(argv[0]); EXEC SQLX DECLARE c CURSOR FOR SELECT name, cost FROM ALL hotel; EXEC SQLX CONNECT 'demodb'; EXEC SQLX OPEN c FOR READ ONLY; for(;;){ EXEC SQLX BEGIN DECLARE SECTION; char name[100]; float cost; EXEC SQLX END DECLARE SECTION; EXEC SQLX WHENEVER NOT FOUND GOTO not_found; EXEC SQLX FETCH c INTO :name, :cost; if (satisfaction_guaranteed(name)){ total_cost += cost; n_cost += 1; } not_found: EXEC SQLX CLOSE c; EXEC SQLX DISCONNECT; if(n_cost) printf("Average Cost = %f\n", total_cost/n_cost); else printf("I Can't get no... satisfaction...\n"); exit(0); int satisfaction_guaranteed(char *name) { return (name[0] == 'H');

4.2 DOS 창에서 ‘esqlx staticesql’ 명령어를 실행한다. 4.3 아래와 같은 내용의 TEXT 파일을 작성하고, ‘staticesql.mak’ 란 이름으로 저장한다. # # $Revision: 3.1 $ # Makefile for NT example. # Change PROJ to the name of the executable you want to produce. PROJ = staticesql OFILES = $(PROJ).obj INCLUDES = /I$(UNISQLX)\include \ /I"C:\Program Files\Microsoft Visual Studio\VC98\Include" SYMBOLS = /D_X86_ /DNT /DPC /DMSVC /DXONE /DPRODUCTION /D_OLEAUTO_H_ DFLAGS = -debug:full -debugtype:cv CFLAGS = /nologo /c -DWIN32 -D_WIN32 /MD -Z7 -Od $(SYMBOLS) $(INCLUDES) LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE \ /NOLOGO -align:0x1000 -subsystem:console,3.50 \ -entry:mainCRTStartup LIBS = "C:\Program Files\Microsoft Visual Studio\VC98\Lib\msvcrt.lib" \ "C:\Program Files\Microsoft Visual Studio\VC98\Lib\kernel32.lib" \ $(UNISQLX)/lib/ordbcl32.lib $(UNISQLX)/lib/orescl32.lib $(PROJ).exe: $(OFILES) link $(LFLAGS) /map $(OFILES) $(LIBS) >$*.lko .C.OBJ: $(CC) $(CFLAGS) /c $*.C

4.4 DOS 창에서 nmake –f staticesql.mak 명령을 실행한다. 4.5 실행 프로그램을 수행한다.