HTML이란 용어를 많이 접해 보셨을 겁니다. HTML을 접하면서부터 같이 듣게 되는 용어에는 웹 표준이라고 있습니다.


1. 웹 표준이란 무엇일까요?

우선적으로 웹 표준의 웹은 월드와이드웹(World Wide Web)을 줄여서 웹이라고 부르는데, 이 웹에서 우리는 인터넷의 다양한 정보를 공유할 수 있습니다. 이 공간에서 서로 공통된 규칙으로 정보를 공유하기 위해서 통일화된 방식이 필요로 하게 됩니다.



2. 웹 표준을 지켜야 하는 이유는 무엇일까요?

최근에는 인터넷을 접하는 다양한 계층, OS, 브라우저, 휴대기기가 있습니다.

계층 : 노인, 장애인, 어린이 등
OS : 윈도우즈, 리눅스, 유닉스, 맥 등
브라우저 : 익스플로러, 크롬, 사파리, 오페라, 파이어폭스 등
휴대기기 : 스마트폰, TV 브라우저, PDA 등

이렇게 다양한 방법으로 웹을 사용하게 되는데, 여기서 특정 플랫폼의 사용자를 타겟으로 웹을 만든다면 어떻게 될까요?
특정 플랫폼의 계층이 아닌경우 장애인, 노인, 외국인, 리눅스 사용자, 맥 사용자 등은 정보를 접할 기회가 줄어들어 정보화의 폐해가 드러나게 됩니다.



3. 웹 표준을 지키는 방법.

첫째, 호환성을 유지하라.
일반적으로 프로그램을 개발할 때, 버전이 올라가면 갈수록 새로운 기능을 추가하고 이전 기능은 폐기하게 됩니다. 그러나 사용자의 측면에서는 예전 기능을 계속 유지해 주어 개발 호환성을 유지해 줄 필요성이 생기게 되는데, 버전 호환성 유지는 예전에 사용된 비표준 문법들이 계속 확대 재생산되어 결국 접근성에 심각한 위해를 주게 된다.

주로 나모 웹 에디터, 드림 위버와 같은 저작 도구에 의존하여 표준을 무시하고, 그냥 남의 코드를 딷가 적당히 익스플로러에서만 돌려보고 개발을 끝내는 풍토와 그런 정보 가공자들을 계속 양산하는 교육 시스템에도 문제가 있다.

이와 반대로, XHTML 1.x 이나 HTML 4.x 표준에 맞추어진 문서는 99% 접근성이 높은 사이트들이다. 기존에 흔이 사용되는 table 구조를 div로 바꾸고 font, b 같은 태그들을 스타일시트(CSS)로 사용하게 되면, HTML 코드 양은 반 이하로 줄어들게 된다.

구조와 표현이 엄격히 분리되면, 사이트의 로딩 속도도 빨라지며, 코딩과 유지보수의 효율성은 두 배로 늘어난다.


둘째, 구조와 표현, 동작을 분리하라.

구조(Structure) : HTML, XHTML
표현(Presentation) : CSS
양식(Behavior) : DOM, ECMAScript(공용 javascript)

스타일시트(CSS)는 단순히 링크의 색상, 글자 모양을 바꾸는 정도가 아니고, 문서의 배치, 여백 조정, 색깔, 요소 자체의 성격 변화, 클래스를 통한 디자인의 일관성 확보, 서로 다른 미디어에 따른 최적화된 디자인 템플릿 적용 등 많은 역활을 할 수 있다.

HTML 에서는 철저하게 구조화된 마크업만을 사용하고, 모양이나 디자인에 관한 것은 CSS로 완전히 분리함으로써, 구조는 변하지 않은 채 여러 가지 디자인을 적용한다거나, 상황에 따라 쉽게 디자인을 변경하는 것이 가능해진다.
또한, 똑 같은 디자인 템플릿에 따른 내용을 담는 여러 가지 문서를 만드는 것도 가능해진다.
디자인에 전혀 영향을 주지 않고 문서의 내용을 바꾸는 것도 쉬워지기 때문에 장애인의 접근성에 엄청난 도움을 준다.
(한 개의 HTML 문서에 시각 디자인용 CSS와 텍스트용 CSS와 기존 CSS를 만들어 변경해 줌에 따라 문서의 구조가 내용에 섞이지 않고 제공될 수 있다.)


셋째, 최소한의 디버깅을 거쳐라.

HTML과 XHTML, CSS, DOM, JAVASCRIPT가 표준 문법을 사용 했는지 확인을 할 수 있다.

- http://validator.w3.org – 브라우저 유효성 검사
- http://jigsaw.w3.org/css-validator – CSS 유효성 확인
- http://www.stg.brown.edu/service/xmlvalid – XML 유효성 확인

 

 

출처 : http://cafe.naver.com/htmlkor/621   작성자 : 봄(semidex37) 


웹페이지 크기를 모바일 장치에 맞게 자동 조절하기


<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi" />

  • user-scalable=no : 사용자의 확대보기 허용 여부(no/yes)
  • initial-scale=1.0 : 페이지 로딩 시 확대비율
  • maximum-scale=1.0 : 최대 확대 비율
  • minimum-scale=1.0 : 최소 축소 비율
  • width=device-width : 플랫폼 가로 크기에 맞춤, 수치를 넣으면 그 수치에 맞게 맞춰짐.
  • target-densitydpi=medium-dpi : dpi([dots per inch])를 맞춤. 일반적으로 medium-dpi로 하는게 좋음. (device-dpi/low-dpi/medium-dpi/high-dpi)

Ajax를 쓰다보면 로딩을 뿌려줄때가 많다.

로딩에도 여러가지가 있는것같다.

1. 로딩될 자리에 "로딩중..." 이라는 글자나 뺑글 뺑글 돌아가는 이미지가 바로 뜨는 방법
2. 페이지 젤 하단이나 상단에 "로딩중.. " "저장중.." 이라는 글자가 뜨는 방법 (테터툴즈가 이렇지..아마..)
3. 화면 중간에 새창? (사실은 레이어인데 그냥 새창이라고 하겠음) 이 떠서 로딩중 글자 뿌려주는 방법 (나의 주거래 은행 하나 은행에서 이번에 리빌드 하면서 이방법을 쓰더라.. )

기타등등..

머.. 상황에 맞게 이렇게 저렇게 쓰면 될것같다.
어떻게 보면 되게 간단하지만 나의 단기 기억상실을 보완하기 위해 여기에 소스와 사용법을 뿌려놓습니다. =,.=a

prototype 을 기본적으로 사용함을 미리 밝혀 둡니다.

<style>
#ajaxBox{
border:3px solid #000000;
width:300px;
height:50px;
position:absolute;
background-color:#ffffff;
text-align:center;
font-weight:bold;
padding:20px 0px 0px 0px;
color:#FF6600;

}
</style>

<div id="ajaxBox"><div id="ajaxBoxMent">잠시만 기다려주세요..</div><img src="/images/ajax-loader.gif"></div>
<script>
function showAjaxBox(ment){

//항상 화면 중앙에 나타나도록...
var yp=document.body.scrollTop;
var xp=document.body.scrollLeft;

var ws=document.body.clientWidth;
var hs=document.body.clientHeight;

if(!ment) ment="잠시만 기다려주세요..";

var ajaxBox=$('ajaxBox');
$('ajaxBoxMent').innerHTML=ment;

ajaxBox.style.top=yp+eval(hs)/2-100;
ajaxBox.style.left=xp+eval(ws)/2-100;

Element.show(ajaxBox);
}
</script>
이것이 소스답니다. 별거도 없는데.. 강좌랍시고 -_-;;;;

사용법은 아래와 같습니다.

function test(){

showAjaxBox();//로딩 박스 보인후에...

var url="Ajax.php";
var myAjax=new Ajax.Request(
url,
{
asynchronous:true,
parameters:pars,
onComplete:function(res){

Element.hide('ajaxBox');// 다 처리한후.. 박스를 숨김..

}
}
);
}

아 그리고 페이지 맨 아래쪽에 이거 넣어주시구요~
상자가 처음에는 안보이게 합니다.

<script>
Element.hide('ajaxBox');
</script>

프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다.
프리마커에서는 HTML을 템플릿으로 저장하고 이러한 템플릿 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다.
이클립스에서 velocity 를 사용해 매칭을 하는 것과 같은 기능을 위해 사용하려고 한다.
사용자 삽입 이미지
다운로드:

http://freemarker.sourceforge.net/freemarkerdownload.html


설치:
freemarker-2.3lib안의 .jar 파일을 톰캣[lib]안에 넣는다.
ecilpse에서는 프로젝트 마다 lib안에 import 시킨다.

************************************************************************************
만약 이클립스에 MavenRepoSearch 가 있다면 바로 freemarker 를 찾아서
pom파일에 dependency 를 걸어도 된다.
http://static.springframework.org/spring/docs/2.0.x/reference/view.html
에서 bean 설정 하는 것 을 servlet 파일에 넣기

문법:
http://freemarker.sourceforge.net/docs/index.html 참조

FTL tag
< # >
주석
< #--주석달기-->
반복문
1. <#list [Object code에서 key값] as [별칭할 값]>
2. for(int i=0;i<10;i++)
< #list 1..10 as i>
${i}
<#assign i=i+1?int>
3.
사이즈를 알고 싶을때.. Key 값이 list 인 경우
<#assign size=list?size>
4. 다른 변수로 정의하고 싶을때에는
<#setting [새로]=[기존]>

5.변수선언
<#assign x=0> <#--x 에 0 을 할당해 준 것이다.-->
<#-- x 값을 출력하려면 -->
${x}

6. <#macro green>
"<@green>" 이런식으로 쓴다. 주로 변하지 않는 변수를 이렇게 선언

7. 조건문
< #if>
8. int형으로 선언해 주고 싶은때에는
<#assign x=0 ? int>

9. date 형
${date?date} <--날짜만 얻고 싶을때.
${date?time} <--시간만 얻고싶을때.
${date?datetime} <-- 전체데이터를 얻고 싶을때

데이터 흐름을 알기위한 가장 중요한 부분은 html 파일을 만들고 PHP,JSP,ASP 별로 어떻게 전달이 되는 것인지를 확인 하는 것입니다.

데이터 흐름을 알기 위해서는 서버를 축을 해야 합니다.

● PHP,JSP,ASP를 구축을 한 상태에서 해보겠습니다.

@ 웹 프로그래밍@
HTML는 여는 태그 '<' 와 닫는 태그 '>' 로 이루어진 고밀도 문자 마크업언어 이며, 아래는 HTML의 기본 구조입니다.

<html>
<head>
< title> 브라우저 상단에 글을 나타내는곳 입니다. </title>
< scrpit></acrpit>
< link></link>
</head>
< body>

접속자에게 보여줄 내용을 이곳에 적습니다.

</body>
< /html>

** 데이터 전송 =Query 전송, 파라메터 전송
1. 전달대상 : action 속성.
2. 전달 방법 : HTTP 프로토콜의 method
GET - 주소창에 데이터 = 값 &데이터 = 값,
POST - 헤더 body에 묻어서 전달.
- 보안적인 요소

< body>
< form name="frmTest" action="write_ok.asp " method="post" >

<input type=" text" name="id" value="aaaa">
type="password"
type="radio"
type="hidden"
<select name=" ">
<option
</select>

<input type="submit" value="보내기">
<input type="reset" value="취소">
< /form>
< /body


기본적으로 html 파일은 특별히 언어들을 가리지 않습니다. 그렇기 때문에 html 파일을 만들 후

1. 기본적인 html 파일은 웹 언어의 특성을 가리지 않기 때문에, 기본적인 html 파일을 만든 후, 미리 구축한 PHP, JSP, ASP서버에 위치를 시킵니다.


html 파일을 frmtest.html 로 만들기로 하겠습니다.

php 용 frmtest.html 파일을 아래와 같이 cording을 합니다.


jsp 용 frmtest.html 파일을 아래와 같이 cording을 합니다.


마지막으로 asp 용 frmtest.html 파일을 아래와 같이 cording을 합니다.


위의 3가지 cording을 유심히 보면 다른것은 title 명과 body의 머릿말 그리고
ACTION 부분의 frmtest_ok.xxx 붉은 xxx 부분만이 각각의 서버에 위치하는 언어를 써주면 됩니다.

각각의 html 파일을 만들고 서버의 폴더에 넣어 줍니다.
PHP용 파일은 C:\APM_Setup\htdocs 폴더에 넣어 줍니다.
JSP용 파일은 C:\WebGoat-5.2\tomcat\webapps\ROOT 폴더에 넣어 줍니다.
마지막으로 ASP용 파일은 C:\Inetpub\wwwroot 폴더에 넣어 줍니다.
위의 3개의 파일이 폴더에 넣었다면, 인터넷 상에서 연결이 되는 지를 확인 해 봅니다.

인터넷 주소창에 각각 의 주소를 넣어 봅시다.
(주소를 넣을 때 주의 할점은 자신이 정한 주소를 넣어주는 것입니다.
PHP는 http;//서버 주소/frmtest.html 이며, 저의 주소는 192.168.102.111/frmtest.html 입니다.


JSP는 http;//서버 주소:tomcat설정포트/frmtest.html 이며,
저의 주소는 192.168.102.111:8080/frmtest.html 입니다.(tomcat 을 실행시켜 주세요)


마지막으로 ASP는 http;//서버 주소:IIS설정포트/frmtest.html 이며,
저의 주소는 192.168.102.111:8081/frmtest.html 입니다


위의 3개의 page 가 나온다면 정상적으로 파일과 파일의 위치가 정상적으로 만들어지고 위치를 한것입니다.

frmtest.html cording 에서 FORM테그의 ACTION 부분에 frmtest_ok.asp, frmtest_ok.jsp, frmtest_ok.php 를 각각 참조하도록 되어 하였으나 아직은 참조할 파일들이 없습니다.

아래의 내용은 frmtest_ok.php, frmtest_ok.jsp, frmtest_ok.asp 등을 만들어 보는 내용입니다.

php 용 frmtest_ok.php 파일을 아래와 같이 cording을 합니다.


jsp 용 frmtest_ok.jsp 파일을 아래와 같이 cording을 합니다.


asp 용 frmtest_ok.asp 파일을 아래와 같이 cording을 합니다.


각각의 파일들은 frmtest.html 에 위치한 폴더에 넣어 주면 됩니다.
PHP용 파일은 C:\APM_Setup\htdocs 폴더
JSP용 파일은 C:\WebGoat-5.2\tomcat\webapps\ROOT 폴더
마지막으로 ASP용 파일은 C:\Inetpub\wwwroot 폴더에 넣어 줍니다.

다시 한번 더 인터넷 주소창에 각각 의 주소를 넣어 봅시다.
(주소를 넣을 때 주의 할점은 자신이 정한 주소를 넣어주는 것입니다.)

PHP는 http;//서버 주소/frmtest.html 이며, 저의 주소는 192.168.102.111/frmtest.html 입니다.
그리고 아이디와 암호를 넣고 '보내라' 를 누릅니다.


JSP는 http;//서버 주소:tomcat설정포트/frmtest.html 이며,
저의 주소는 192.168.102.111:8080/frmtest.html 입니다.(tomcat 을 실행시켜 주세요)
그리고 아이디와 암호를 넣고 '보내라' 를 누릅니다.


마지막으로 ASP는 http;//서버 주소:IIS설정포트/frmtest.html 이며,
저의 주소는 192.168.102.111:8081/frmtest.html 입니다
그리고 아이디와 암호를 넣고 '보내라' 를 누릅니다.


위의 3 개의 page 가 나오면 정상적으로 설정이 된것입니다.

여기서 위 PHP를 수정을 해서 화면이 아닌 다른 화면이 나오도록 하는 방법을 해보겠습니다.

php 용 frmtest_ok.php 파일을 아래와 같이 cording을 하고, welcome.php파일로 저장을 합니다.
당연히 파일의 위치는 frmtest_ok.php와 같은 C:\APM_Setup\htdocs 폴더에 위치 합니다.


php 용 frmtest_ok.php 파일을 수정을 해야 합니다.


php 용 frmtest_ok.php 파일에서 미리 코딩을 한것에서 주석(#)을 제거 한것입니다.

인터넷 주소창에 http;//서버 주소/frmtest.html 을 넣고,( 저의 주소는 192.168.102.111/frmtest.html 입니다.) 그리고 아이디와 암호를 넣고 '보내라' 를 누릅니다.


위와 같이 welcome.php로 바뀐 화면이 뜨게 됩니다.

 

출처 : http://hoyatic.tistory.com/149

작성자 : 치세

1. Html 4.01

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/losse.dtd">

이전 버전으로 제작된 HTML 문서와의 호환성을 위해

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">

정확한 표준모드를 사용하기위해

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/frameset.dtd">

프레임 셋을 이용한 웹사이트를 만들때

2. XHTML 1.0

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

이전 버전으로 제작된 HTML 문서와의 호환성을 위해

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

정확한 표준모드를 사용하기위해

- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-framset.dtd">

프레임 셋을 이용한 웹사이트를 만들때

3. 작업방향

- Doctype는 XHTML1.0을 기준으로 작업(transitional.dtd)

- <img>,<br>등 단독으로 사용하는 태그는 <img src="" />, <br/>닫아서 사용한다.

(안닫아도 실행 되지만 닫아야 옳은 형식으로 인식하는 방식이 있으므로)

MySQL를 성공적으로 설치 했다면 이제 간단한 사용법을 알아 보자

 

1. MySQL를 설치하면 처음 접속할 수 있는 계정을 최고 관리자인 ROOT이다. 이 루트에 접속하기 위해서는 다음과 같은

    명령어를 입력하면 된다.

 

   --> mysql -u root -p 

   --> 설치시 입력했던 비밀번호 입력(설치시 입력을 안했다면 비밀번호 설정을 찾아 수행 후 따라하세요)

 

 

2. ROOT권한을 성공적으로 접속하고 종료 하였다면 다음은 새로운 데이터베이스 공간을 생성하는 작업을 수행해야 한다.

    새로운 작업을 하기위한 공간을 만들어 보자

 

   --> mysqladmin -u root -p create zinleeDB(생성하고자하는 Database이름)

   --> 설치시 입력했던 디밀번호 입력

 

 

3. 데이터베이스 공간을 생성했다면 해당 공간에 유저를 생성해 보자.

   다음은 유저생성 시 모든 DBA권한과 로컬호스트에 접근할 수 있는 권한을 주며 계정을 생성하며 쿼리이다.

 

   --> mysql -u root -p (ROOT권한으로 접속)

   --> grant select, insert, update, delete, create, alter, drop on zinleeDB(생성한DB).* to 'admin(생성할계정)'@'localhost'  

         identified by 'adminpass(생성할계정의비밀번호)';

 

 

4. 유저에게 모든 서버에 접근할 수 있는 권한을 설정해 보자.

 

   --> mysql -u root -p (ROOT권한으로 접속)

   --> grant select, insert, update, delete, create, alter, drop on zinleeDB(생성한DB).* to 'admin(생성한계정)'@'%'

         identified by 'adminpass(생성한계정의비밀번호)';

 

 

5. 이제 계정생성이 완료되고 모든 권한을 주었다. 드디어 접속하여 사용하면 된다!

    생성한 계정에 접속하는 방법은 다음과 같다.

 

   --> mysql -u admin(생성한 계정) -p zinleeDB(생성한 계정의 Database)

   --> adminpass(생성한 계정의 비밀번호 입력)

 

   --> show databases;   (현재 접속한 계정의 데이터베이스 정보를 보여준다.)

   --> show tables;         (현재 접속한 계정에 생성된 테이블 정보를 보여준다.)

 

이상으로 간단한 MySQL사용법을 적어 보았다. 어렵지 않지만 자주 사용하지 않기 때문에 잊는 경우가 많다. 잊지말고 기억하자!

1. 사용자계정 생성

로컬 : mysql> CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'user_password';
외부 : mysql> CREATE USER 'user_name'@'%' IDENTIFIED BY 'user_password';


2. 데이터베이스 생성

mysql> CREATE DATABASE database_name;


3. 데이터베이스에 대한 접근권한 설정

로컬 : mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'localhost' WITH GRANT OPTION;
외부 : mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'%' WITH GRANT OPTION;


4. 계정에 대한 권한설정 확인

mysql> SHOW GRANTS FOR 'user_name'@'localhost';


5. MySql 변경사항 적용(GRANT 이외의 명령어 실행시만 해당)

FLUSH PRIVILEGES;

 

출처 : http://blog.naver.com/hgi99?Redirect=Log&logNo=10129118245

http://dev.mysql.com/downloads/mysql/

에 가면 다운을 받을수 있다.

하지만 그 전에 간단한 회원가입을 해야한다..

귀찬게하네..

어쨋들 가입하면 다운이 가능하다.

자신의 컴퓨터에 맞춰 msi형식의 파일을 다운 난 32비트니..그것을 다운..

다운받은것을 실행해 보자.

이렇게 거쳐 설치가 완료

잘 설치되는지 cmd 창을 열어서

mysql -u root -p 엔터

비밀번호 입력하면 mysql에 연결될것이다.

뜨등

sqlloader를 사용하기 위해서는 미리 테이블이 만들어져 있어야 함.

sqlloader 화일 샘플

#!/bin/csh
if ( $#argv != 2) then
echo "Usage: $0 <DataFile> <logFileName>"
exit 1
endif

sqlldr userid=oracle/oracle control=tblmacs_tmpidrlog.ctl data=$1 log=$2.log commit_discontinued=true

data는 raw데이타 들어갈 부분, log는 생략해도 무방..., commit으로 시작하는 부분도 생략가능

실행방법

sqlloader.sh "실제데이타 화일"
ex) sqlloader.sh SWBLS1_FWEBIDR1_ID0001_T20030603000109.DAT

이런식으로 사용 가능(원격폴더 지정시)
## sqlloader.sh /bear02/macslog/20030401/SWBLS1_FWEBIDR1_ID0001_T20030401000110.DAT /bear01/brewlog/src/eshock/log/z0000

control화일 샘플

load data
INFILE *
append
into table TBLMACS_TMPIDRLOG
when RECORD_TYPE='R'
(
RECORD_TYPE position(01:01) char
,RECORD_SEQ position(02:08) char
,SVC_TYPE position(09:09) char
,CALL_NUM position(10:20) char
,CHARGE_NUM position(21:31) char
,CP_NO position(32:36) char
,CONTENTS_NO position(37:38) char
,MENU_NO position(39:40) char
,CALL_START position(41:54) char
,DURATION position(55:63) char
,PKT_CNT position(64:72) char
,PHONE_TYPE position(73:87) char
,BROWSER_VER position(88:102) char
)

position은 순서대로 1부터 1까지 자름, 그다음 2칸째부터 8칸 이후까지를 의미함.





[ SQL*Loader 사용하기 ]
작성일자 : 2001년 6월 11일
작 성 자 : 조수환


1. SQL*Loader를 이용해서 Data를 넣을 파일을 Excel에서 생성한다.
- 파일을 *.csv로 저장을 한다.
(SQL*Loader를 사용하기 위해서는 ,(콤마)가 필요하다)
즉, 다음과 같은 데이타 포멧이면 된다.
10000,CEO,등록
10020,CEO CEO실,등록
150000,솔루션사업부문,등록
150010,솔루션사업부문 신프라팀,등록
150020,솔루션사업부문 기관영업팀,등록
150030,솔루션사업부문 사업지원팀,등록
150040,솔루션사업부문 CS팀,등록

2. csv 파일에는 departcode, departname, gubun 의 형식을 데이타가 들어가 있다.

Ex> departcode, departname, gubun
---------- ------------------------------
180040 경영전략부문 홍보팀
190000 재경부문
190010 재경부문 재경기획팀
190020 재경부문 재경팀
190030 재경부문 물류지원팀
200000 인재기획실


3. Data를 넣을 테이블의 명세서는 다음과 같다.
SQL> desc departinfo;
이름 널? 유형
---------- -------- ------------
ID NOT NULL NUMBER
DEPARTCODE NUMBER(6)
DEPARTNAME VARCHAR2(40)
CREATEDATE DATE
MODIFYDATE DATE
GUBUN CHAR(4)


4. 콘트롤 파일(abc.ctl) 을 하나 만들고, 다음과 같은 내용을 기록한다.

LOAD DATA
INFILE '부서코드.csv' -- 참조할 파일은 부서코드.csv
replace -- 테이블의 내용을 모두 삭제한 후에 입력
INTO TABLE departinfo -- 데이타가 들어갈 테이블 명
fields terminated by ',' -- ,(콤마)를 기준으로 구분한다.
(
id sequence(1,1), -- 1부터 1씩 증가시킨다.
departcode integer external, -- 외부의 데이타를 가져온다.
departname char(40), -- 문자열은 40
createdate sysdate, -- Load를 할 때 sysdate값을 넣어준다.
modifydate sysdate, -- Load를 할 때 sysdate값을 넣어준다.
gubun char(4) -- 문자열은 4
)


5. SQL*Loader를 실행시킨다.
# sqldlr atomx/akstp@sysora control=abc.ctl log=0611.log
- > 위와 같이 하면 부서코드.csv의 내용이 conrolfile의 정의와 함께
테이블에 쭉 들어간다.



<참조> 다른 컨트롤 파일의 내용

1. 컨트롤 파일(bbb.ctl)의 내용
LOAD DATA
INFILE '사원인사.csv'
replace
INTO TABLE companyinfo
fields terminated by ','
(
id sequence(1,1),
companycode integer external,
name char(20),
departcode integer external,
tel char(4) nullif tel = blanks, -- 만일 공백이면 NULL상태로 만든다.
enteringdate date ,
createdate sysdate,
modifydate sysdate,
gubun char(4)
)


2. sqlldr atomx/akstp@sysora control=bbb.ctl log=0611.log

 

출처 : http://cafe.naver.com/superadmin/42

+ Recent posts