function GetServerTime (param, formula) {
/* All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception
*
* This function returns a Date or String type value
*
* var time = GetServerTime(); // [date] Wed Oct 11 2017 09:48:52 GMT+0900 (대한민국 표준시)
var time = GetServerTime(""); // "2017-10-11" , can be any string or variable except as provided below
var time = GetServerTime("day", -1); // "2017-10-10"
var time = GetServerTime("week", -1); // "2017-10-04"
var time = GetServerTime("month", 1); // "2017-11-11"
var time = GetServerTime("year", 1); // "2018-11-11"
*/
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); // upper IE7, Chrome, Firefox
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');

//return xmlHttp.getResponseHeader("Date");

}else if (window.ActiveXObject) {
//Old versions of IE supported the ability to use ActiveX controls inside the browser.

xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');
//return xmlHttp.getResponseHeader("Date");
}
//return xmlHttp.getResponseHeader("Date");
var serverTime = xmlHttp.getResponseHeader("Date");

if(param!=null){
var ymd = new Date(serverTime);
param = param.toLowerCase().trim();

if(formula !=null){

if(!typeof formula=="number") {
console.log("변수 formula는 number타입이어야 합니다.");
}
else if(param=="day"){
ymd.setDate(ymd.getDate()+formula);
}
else if(param=="week"){
ymd.setDate(ymd.getDate()+(7*formula));
}
else if(param=="month"){
ymd.setMonth(ymd.getMonth()+formula);
}
else if(param=="year"){
ymd.setFullYear(ymd.getFullYear()+formula);
}
}
var month = '' + (ymd.getMonth() + 1),
day = '' + ymd.getDate(),
year = ymd.getFullYear();

if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;

return [year, month, day].join('-');
}

else{
return new Date(serverTime);
}
}

안녕하세요~ 바나나입니다!!

아마존에 저장되어 있는 값들을 로컬DB로 옮기는 법을 소개합니다~

 

우선 오라클에 사용자를 하나 생성합니다.

 

create user local_typeof identified by "typeoftypeof"
default tablespace users;

 

-- 권한 1
grant EXEMPT IDENTITY POLICY
    , GRANT ANY OBJECT PRIVILEGE
    , EXEMPT ACCESS POLICY
    , DROP ANY DIRECTORY
    , CHANGE NOTIFICATION
    , FLASHBACK ANY TABLE
    , ALTER PUBLIC DATABASE LINK
    , ALTER DATABASE LINK
    , RESTRICTED SESSION
  --, EXEMPT REDACTION POLICY
    , SELECT ANY TABLE
    , UNLIMITED TABLESPACE
to local_typeof;

 

-- 권한 2
grant AQ_ADMINISTRATOR_ROLE
    , AQ_USER_ROLE
    , CONNECT
    , CTXAPP
    , DBA
    , EXECUTE_CATALOG_ROLE
  --, RDS_MASTER_ROLE
    , RECOVERY_CATALOG_OWNER
    , RESOURCE
    , SELECT_CATALOG_ROLE
to local_typeof;

 

 

저는 local_typeof 를 사용하여 사용자를 하나 생성하였습니다.

 

 

그다음 도구 창에서 데이터베이스 복사를 들어갑니다.

 

 

데이터베이스 복사에 들어가면 총 6단계로 되어있습니다.

첫번째, 소스접속은 내가 받아오고싶은 데이터베이스(아마존DB)를 선택하고

          대상접속은 방금전 만들어 놓은 로컬 사용자로 선택합니다.

 

 

밑에는 별도로 선택할 것 없이 다음 버튼을 누릅니다!

 

 

그다음 2단계는 자동으로 전체 선택이 되어 있으므로 바로 다음 버튼을 눌러도 됩니다!

 

 

 

3단계! 조회버튼이 보일텐데요 조회버튼을 누르고 잠시기다리면 아마존DB에 저장되어있던 내용들이 쭉 나올 것입니다.

그리고 >> 버튼을 눌러 오른쪽으로 넘겨주고 다음버튼을 누릅니다.

 

 

 

4단계, 3단계와 같이 조회버튼을 눌러 값이 나오면 아래로 내리는 버튼을 눌러 값을 옮긴 후 다음버튼!

 

 

 

5단계에서는 별도로 해줄 것없이 완료를 해주면 오라클창에서 아래와 같이 진행되는 것을 볼 수 있습니다.

 

 

진행사항이 마무리가 되고 로컬사용자로 접속한 상태로 select * from tab; 을 하게 되면 아래와 같이 테이블이 옮겨진 것을 알 수 있습니다.

 

 

 

성공적으로 옮기기 완료!

 

지금까지 아마존DB를 오라클 로컬DB로 옮기는 방법에 대해 알아보았습니다~

감사합니다!ㅎㅎ #바나나

 

 

 

 


마이바티스(myBatis)를 통한 쿼리문 작성시 


데이터를 insert 한 후에 그 인서트 된 record의 특정 칼럼 값을 가져오고 싶을 때가 있습니다.


회원번호 컬럼과 같은 시퀀스 값이나, PK 속성을 갖는 값을 통해 바로 다른 작업을 하고 싶을 때 유용하게 쓸 수 있는 코드가 있습니다.


마이바티스의 셀렉트키(selectKey) 옵션을 사용하면 쿼리 짜는 시간도 노력도 코딩 효율도 좋아지겠죠?





<pre> <code class="xml">

<insert id="insertend" parametertype="java.util.HashMap">



       <selectkey keyproperty="sabun" resulttype="String" order="AFTER"> 

SELECT 

시퀀스명.CURRVAL // 해당 시퀀스의 현재 값을 insert 한 후에 가져옵니다. (order="AFTER") 옵션 

FROM

DUAL

         </selectkey>

    

    //"insert 쿼리문이 위치하는 곳"

    

 </insert>

</code>

</pre>



+ Recent posts