'DATABASE'에 해당되는 글 16건

 
  1. 2020.11.22 자바, 스프링부트에서 레디스 키-값 출력 예제, SpringBoot+Redis Key-Value PrintAll
  2. 2020.09.15 DBEAVER JAVA VM 설정하기, javaw.exe in your current PATH
  3. 2014.02.07 [DB/MSSQL] SQLGate 2010 for SQL Server Developer, 다른 포트 사용시
  4. 2012.11.15 [TOOL/ERWIN] 모델링 툴 CA ERWIN(이알윈)의 필수 단축키, 화면이동, 확대축소
  5. 2012.10.12 [ORACLE/PLSQLDEV] PL/SQL Developer 한 화면에서 쿼리를 선택하지 않고 실행 설정, AutoSelect Statement
  6. 2011.06.24 [ORACLE/SQL] 셀렉트 후 업데이트, 수정 가능한 조인 뷰, SELECT-UPDATE, Modifiable Join View 6
  7. 2011.03.28 [ORACLE/LINUX] sqlplus 접속 에러, ORA-12162: TNS:net service name is incorrectly specified 1
  8. 2011.02.01 [ORACLE/PLSQL] ORA-00984 오라클 테이블 수정 PL/SQL DEVELOPER 버그, ALTER TABLE MODIFY 1
  9. 2011.01.24 [ORACLE] ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴, single-row subquery returns more than one row
  10. 2011.01.13 [ORACLE] 오라클 날짜변환 입출력 함수 SELECT, INSERT, TO_DATE, TO_CHAR 2
  11. 2011.01.06 [ORACLE/ERWIN] ERWin 오라클 연동, Forward Engineer, Schema Generation 1
  12. 2010.11.04 [ORACLE] 오라클 에러 ORA-XXXXX 1
  13. 2010.10.11 [ORACLE/MYSQL] 인서트 자동증가, AUTO_INCREMENT, CREATE SEQUENCE 1
  14. 2009.07.17 오라클, 웹로직 11g 다운로드 링크
  15. 2009.07.13 [ORACLE] 오라클 계정관리 Command Log
  16. 2009.06.17 mssql to mysql process log
2020. 11. 22. 00:32 카테고리 없음
자바, 스프링부트에서 레디스 키-값 출력 예제, SpringBoot+Redis Key-Value PrintAll

 

자바(스프링부트)에서 레디스 키 출력

 

spring:session:TEST:sessions의 모든 값을 출력하는 예제 입니다.

Set<String> redisKeys = redisTemplate.keys("spring:session:TEST:sessions:*");
List<String> keysList = new ArrayList<>();
Iterator<String> it = redisKeys.iterator();
while (it.hasNext()) {
	String data = it.next();
	keysList.add(data);
	System.err.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ "+data);
}

 

 

2020. 9. 15. 10:16 DEV ENVIRONMENT
DBEAVER JAVA VM 설정하기, javaw.exe in your current PATH

dbeaver실행하다가 다음과 같은 오류가 나면 자바를 못찾아서 발생하는 오류 입니다.

디비버도 이클립스 기반이기때문에 이클립스와 같은 형식의 설정파일이 있습니다.

설치경로(압축푼곳)에 있는 dbeaver.ini에 java 경로를 지정해주면 됩니다.

 

 

dbeaver.ini 파일 수정 - 경로는 자신의 java 경로에 맞게 설정하세요.
-vm
\자바jdkjrd위치\bin

-vm
\PROGRAMS\jdk1.8.0_202\bin
-startup
plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Xms64m
-Xmx1024m

 

 

dbeaver 실행

 

 

2014. 2. 7. 20:37 COMPUTER
[DB/MSSQL] SQLGate 2010 for SQL Server Developer, 다른 포트 사용시

SQL GATE FOR MS-SQL ,,,,

이 프로그램, 골때리게도 포트적을때 콤마를 써야 합니다.

이걸 모르면 당신을 멍충이로 만들어주는 기능...


올바른 사용법 ㅡ.ㅡ ;;





올치안은 사용법 ㅡ.ㅡ??


2012. 11. 15. 10:11 COMPUTER
[TOOL/ERWIN] 모델링 툴 CA ERWIN(이알윈)의 필수 단축키, 화면이동, 확대축소

ERWIN. 짜증나는 프로그램입니다.

거의 모든 모델링의 표준이기때문에 그냥 쓸뿐~

핸드커서도 없는 개같은 프로그램이죠.

 

 

그나마 ERWIN 4.1이 거의 없어진것도 감지덕지 (거의 비쥬얼C++ 6.0과 같은놈)

 

당연히 알아야할... 알지못하면 폭발할수도 있는 ERWIN의 단축키들 입니다.

 

버전은 ERWIN R7입니다. (다른버전들도 거의 같습니다.)

 

화면이동
→, ←, ↑, ↓

 

좌우크게 크게 이동
Ctrl+→, Ctrl+←

 

로지컬, 피지컬 토글
Ctrl+↑, Ctrl+↓

 

줌인
Ctrl++

 

줌아웃
Ctrl+-

 

 

2012. 10. 12. 20:41 COMPUTER
[ORACLE/PLSQLDEV] PL/SQL Developer 한 화면에서 쿼리를 선택하지 않고 실행 설정, AutoSelect Statement

PL/SQL Developer는 정말 좋은 툴이에요.

하지만 뷰티파이어에 단축키도 없고,

한 쿼리화면에서 일부만 실행시키려고하면,

실행 할 쿼리만 선택한 채로 F8을 눌러야 합니다.

 

하지만 아래처럼 설정하면,

쿼리당 세미콜론을 붙여주고 원하는 쿼리에 커서가 위치한 상태에서 (선택을 안해도됨) F8키만 누르면 쿼리하나씩만 실행이 됩니다. 

 

 

메뉴 > Tools > Preferences 선택

Preferences > SQL Window > AutoSelect statement 체크 (아마도 위에서 4번째쯤)

 

AutoSelect statement에 체크한 모습

 

2011. 6. 24. 14:33 COMPUTER
[ORACLE/SQL] 셀렉트 후 업데이트, 수정 가능한 조인 뷰, SELECT-UPDATE, Modifiable Join View

멋도모르고 SELECT-UPDATE문을 찾아서 사용하고있었는데,

엄청난 사실 - IN절에 사용한 컬럼명이 키가 아닐경우 UPDATE가 정상적으로 이뤄지지 않는다
는거였습니다. (엉뚱한 데이타가 업데이트되고 돼야할 레코드는 업데이트 안되고,,,)
물론 해당 테이블의 키가 컬럼 한개가 아니라면 갯수도 맞아야 하죠.

그래서 이걸 루프를 돌려야하나 말아야하나 하다가 알아낸게 '수정 가능한 조인 뷰' 입니다.

UPDATE의 테이블 대신에 수정할만큼의 데이타만 들고와서 SET을 하는 쿼리입니다.


기존 쿼리 (SELECT-UPDATE)

UPDATE TRNSAPLC T1
SET
T1.RESULT_CODE='2',
T1.REASON='넌 불합격이야'
WHERE T1.SEQ_NO IN (
SELECT T.SEQ_NO
FROM
TRNSAPLC T,
ADMTBASE T2,
REG TS
WHERE 1=1
AND T.SENO=T2.SENO
AND T.STU_NO=TS.STU_NO(+)
AND T.APPLY_DATE IS NOT NULL
AND T.YEAR='2010'
AND T.APLCDGE='1'
)
;


새로운 쿼리 (Modifiable Join View)

UPDATE (
SELECT T.RESULT_CODE , T.REASON
FROM
TRNSAPLC T,
ADMTBASE T2,
REG TS
WHERE 1=1
AND T.SENO=T2.SENO
AND T.STU_NO=TS.STU_NO(+)
AND T.APPLY_DATE IS NOT NULL
AND T.YEAR='2010'
AND T.APLCDGE='1'
) T1
SET
T1.RESULT_CODE='2',
T1.REASON='넌 불합격이야'
;
2011. 3. 28. 16:52 COMPUTER
[ORACLE/LINUX] sqlplus 접속 에러, ORA-12162: TNS:net service name is incorrectly specified
- sqlplus가 접속이 안된다.
- $ORACLE_HOME/bin/sqlplus "/as sysdba" 했을때 에러가 난다.
Enter user-name: test
Enter password:
ERROR:
[ORACLE/LINUX] ORA-12162: TNS:net service name is incorrectly specified


오라클 계정 디렉토리안에 .bash_profile을 확인하세요.

임시로 당장쓰는법은
# ORACLE_SID="Oracle10g+ASM"
# export ORACLE_SID
# sqlplus "/as sysdba"

프로필을 수정하고 다시 접속 후 테스트하세요. (하단 그림 참조)
vi /oracle/.bash_profile
export ORACLE_SID="Oracle10g+ASM" 추가





2011. 2. 1. 09:53 COMPUTER
[ORACLE/PLSQL] ORA-00984 오라클 테이블 수정 PL/SQL DEVELOPER 버그, ALTER TABLE MODIFY
공명군이 소개해준 PL/SQL Developer를 열심히 쓰고 있습니다.
개초보한테 필요한 기능들이 많이 있고, 프로그램도 토드보다 가볍거든요.

어느날 테이블을 수정하게되었습니다.
기존테이블에 컬럼3개를 만들고 디폴트값을 Y를 줬는데,
ERD에서 컬럼을 추가해놓고 연동하기 귀찮아서
손으로 직접 테이블을 수정했습니다.

당근, 진짜 손으로 수정한건 아니고 PL/SQL Developer로 했습니다.

다하고 적용을 하니 에러가;;

뭐지? 오라클은 디폴트값 수정도 안되는 쓰레기 디비인가?
30초정도 쳐다보니 미췬 프로그램이 쿼리를 이상하게 때리는 거였었습니다!
수정할때도 컬럼 데이타 타입을 지정해야 하는데 [컬럼명] default Y라니;;

그래서 쿼리창에 직접 입력했습니다.
ALTER TABLE [테이블명] MODIFY ([컬럼명] CHAR(1) DEFAULT 'Y')



마우스로 모든것을, ge-편한세상


한글이 마구깨지는 안습 에디터가 탑재된 마이에스큐엘 쿼리 브라우저보다 훨씬 좋습니다.
2011. 1. 24. 11:07 COMPUTER
[ORACLE] ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴, single-row subquery returns more than one row

ORA-01427: single-row subquery returns more than one row 또는
ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.

영어로된 에러메세지를 본사람은 'ㅅㅂ한줄이상 나와야된다는 메세지가 아니였어?!' 할수도,,
나도 그랬거덩!! ^.,^;;



서브쿼리의 출력은 한줄씩만 나와야만 셀렉트절에 표시될 수 있습니다.
해당서브쿼리의 WHERE절을 좀더 자세하게 수정하거나,
DISTINCT, GROUP BY로 해결 할 수 있습니다.


아래 코드는 이런 에러가 나는 상황을 연출한 예제입니다.

CREATE TABLE TEST1(
CODE  VARCHAR2(32),
CODE2 VARCHAR2(32),
NAME  VARCHAR2(32)
);

CREATE TABLE TEST2(
TITLE VARCHAR2(32),
CODE  VARCHAR2(32)
);

INSERT INTO TEST1 (CODE, CODE2, NAME) VALUES ('CD1', 'CDA', '안두리');
INSERT INTO TEST1 (CODE, CODE2, NAME) VALUES ('CD1', 'CDB', '안두봉');
INSERT INTO TEST1 (CODE, CODE2, NAME) VALUES ('CD2', 'CDA', '안둘');
INSERT INTO TEST1 (CODE, CODE2, NAME) VALUES ('CD2', 'CDB', '탄야');
COMMIT;

INSERT INTO TEST2 (TITLE, CODE) VALUES ('이것은 리스트입니다.', 'CD1');
INSERT INTO TEST2 (TITLE, CODE) VALUES ('나는 사람이다', 'CD2');
INSERT INTO TEST2 (TITLE, CODE) VALUES ('오늘은 뭘먹지', 'CD2');
COMMIT;


오류나는 쿼리
SELECT
TITLE,
(SELECT NAME FROM TEST1 WHERE CODE=TD2.CODE) CODE_NAME
FROM TEST2 TD2;

정상 쿼리
SELECT
TITLE,
(SELECT NAME FROM TEST1 WHERE CODE2='CDA' AND CODE=TD2.CODE) CODE_NAME
FROM TEST2 TD2;
2011. 1. 13. 17:31 COMPUTER
[ORACLE] 오라클 날짜변환 입출력 함수 SELECT, INSERT, TO_DATE, TO_CHAR
오라클에서 사용하는 날짜변환 함수
TO_DATETO_CHAR예제입니다.
쓸때마다 까먹어 ㅎㅎ;;


문자열을 데이트타입으로 입력
INSERT INTO 테이블 (날짜컬럼)
VALUES ( SYSDATE )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('2011-03-03','YYYY-MM-DD') )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('12-JAN-1982', 'DD-MON-YYYY') )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('10-04-2010 20:37:50','MM-DD-YYYY HH24:MI:SS') )


데이트타입을 문자열로 출력
SELECT TO_CHAR(날짜컬럼,'YYYY-MM-DD') FROM 테이블

SELECT TO_CHAR(날짜컬럼,'DD-MON-YYYY') FROM 테이블

SELECT TO_CHAR(날짜컬럼,'YYYY-MM-DD HH24:MI:SS') FROM 테이블
2011. 1. 6. 18:21 COMPUTER
[ORACLE/ERWIN] ERWin 오라클 연동, Forward Engineer, Schema Generation
ERWin에서 작성한 테이블을 오라클에 넣는 (Forward Engineer / Schema Generation) 예제입니다.
ERWin 4.1 버전입니다.


1. 데이타베이스 선택
Database > Choose Database...



2. 데이타베이스 선택
적용할 데이타베이스를 선택합니다. 전 오라클9i로 선택했습니다.



3. 컨넥션 설정
Database > Database Connection...


4. 컨넥션 설정
오라클에 접속할 ID와 암호, 컨넥션 스트링을 입력합니다.
컨넥션 스트링은 tnsname.ora에 설정된 접속이름을 적어야합니다.



5. 포워드 엔지니어
Tools > Forward Engineer/Schema Generation...


6. 필터링
옵션을 설정하고, 적용할 테이블을 골라냅니다.
Filter: 적용할 테이블을 선택할 수 있습니다.
Preview...: 쿼리 실행문을 보여줍니다.
Generate...: 데이타베이스에 작성한 내용을 적용합니다. (실행)



7. 스키마 프리뷰
저는 디비가 어떻게 될까 무서워 프리뷰를 선택하여 나온 스크립트를 긁어서 실행시켰습니다.
이 창에선 전체선택 단축키(Ctrl+A)가 안됩니다. ㅡ.ㅡ;; 마우스 오른쪽 > Select All > Ctrl+C


데이타베이스 접속툴에 직접 가져가서 붙여넣고 실행

2010. 11. 4. 10:55 COMPUTER
[ORACLE] 오라클 에러 ORA-XXXXX
ORA-01756: 단일 인용부를 지정해 주십시오
단일인용부는 싱글쿼테이션(')을 뜻함.
따옴표를 빼먹었다던지 잘못해서 2번이상 쓰면 나는 에러


ORA-00904: "컬럼명": 부적합한 식별자
주로 없는 컬럼을 조작하려할때 발생


ORA-00923: FROM 키워드가 필요한 위치에 없습니다.
FROM절 말고 SELECT절의 컬럼사이에 콤마(,)를 빼먹었는지 확인하세요.
SELECT ROWNUM AS RNUM,
ID, NAME, REG_USR, REG_DT, MOD_USR, MOD_DT
FROM TEST


ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
2010/10/05 - [COMPUTING] - [ORACLE] 오라클에 DATE타입으로 INSERT / SELECT, ORA-01861: 리터럴이 형식 문자열과 일치하지 않음


ORA-12154: TNS:could not resolve the connect identifier specified
2010/10/01 - [COMPUTING] - [ORACLE] 오라클 Instant Client 설정, ORA-12154: TNS:could not resolve the connect identifier specified


NASA's Hubble Universe in 3-D

2010. 10. 11. 18:23 COMPUTER
[ORACLE/MYSQL] 인서트 자동증가, AUTO_INCREMENT, CREATE SEQUENCE

MySql에는 테이블생성시 AUTO_INCREMENT만 추가해주면 자동증가가 설정되서 편합니다.
오라클은 MySql처럼 편리하진 않지만,
시퀀스를 생성해주고 그값을 조회해서 자동증가를 이용할 수 있습니다.
어쩌면 유지보수면에선 오라클같은 형식이 낳을지도...

ORACLE
CREATE TABLE TESTTABLE (
 IDX NUMBER(10),
 INDEX2 NUMBER(10) NOT NULL,
 CONSTRAINT PK_TESTTABLE PRIMARY KEY(IDX)
);
CREATE SEQUENCE SEQ_TESTTABLE START WITH 1 INCREMENT BY 1 MAXVALUE 99999 CYCLE NOCACHE;


INSERT INTO TESTTABLE ( IDX, INDEX2 ) VALUES ( SEQ_TESTTABLE.NEXTVAL , 100 );

MYSQL
CREATE TABLE TESTTABLE (
 IDX INT(11) AUTO_INCREMENT,
 INDEX2 INT(11) NOT NULL,
 PRIMARY KEY (IDX)
);


INSERT INTO TESTTABLE ( INDEX2 ) VALUES ( 100 );

 

2009. 7. 17. 11:57 COMPUTER
오라클, 웹로직 11g 다운로드 링크
사이트를 좀 구리게 만들어놔서 다운로드찾는데 시간좀 걸리네요
로그인 해야 받을 수 있습니다.

oracle 11g download link
2009. 7. 13. 23:37 COMPUTER
[ORACLE] 오라클 계정관리 Command Log
관리자로 접속 (로컬에서)
CMD> sqlplus "/as sysdba"

사용자 상태 조회
SQL> SELECT USERNAME,ACCOUNT_STATUS,TO_CHAR(LOCK_DATE,'YYYY,MM,DD HH24:MI') LOCK_DATE FROM DBA_USERS;

락 해제 (LOCK & EXPIRED 라면 여전히 EXPIRED는 유지됨)
SQL> ALTER USER SCOTT ACCOUNT UNLOCK;

암호변경 (EXPIRED 풀림)
SQL> ALTER USER SCOTT IDENTIFIED BY TIGER;

권한부여
SQL> GRANT CONNECT, RESOURCE TO SCOTT;

접속
SQL> CONNECT SCOTT/TIGER;

환경변수
내컴퓨터 > 속성 > 고급 > 환경변수 > 시스템변수 > USE_SHARED_SOCKET / TRUE

톰캣에서 연결하기 위해 JDBC드라이버 복사
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib 에
D:\oracle\product\10.2.0\db\jdbc\lib\classes12.zip 파일 복사

2009. 6. 17. 15:39 PROGRAMMING
mssql to mysql process log

mssql
SQL: SELECT * INTO [생성될테이블] FROM [기존테이블]
새 테이블에서 필요없는 컬럼 제거 [테이블명에 오른쪽 클릭 > 디자인]

mssql 두번 치환 쿼리
UPDATE [테이블명]
SET [컬럼명]=REPLACE(CONVERT(varchar(max),
REPLACE(CONVERT(varchar(max),[컬럼명]),'[찾을내용1]','[바꿀내용1]'))
,'[찾을내용2]','[바꿀내용2]')
WHERE [컬럼명] LIKE '%[조건]%'

* asp나 mssql은 엔터값은 char(13)+char(10)

mssql 엔터값 검색, RETURN 13, NEWLINE 10, TAB 9
SQL: SELECT * FROM [테이블명] WHERE [컬럼명]='[조건]' AND [컬럼명] LIKE '%'+CHAR(13)+'%'

mssql 날짜데이타를 타임스탬프로 출력
SQL: SELECT TOP 100 DATEDIFF(second,'1970-01-01 09:00:00',[데이트컬럼명]) FROM [테이블명]
* 1970-01-01 09:00:00은 고정값입니다.

mysql
SQL: LOAD DATA INFILE '[백업파일명]' INTO TABLE [테이블명] FIELDS TERMINATED BY '[필드구분자:,]' OPTIONALLY ENCLOSED BY '[따옴표:"]' LINES TERMINATED BY '[각행구분:\n]'
SQL: LOAD DATA INFILE '[백업파일명]' INTO TABLE [테이블명] ([컬럼],[컬럼]...)
* 입력받을 테이블은 미리 생성되어있어야 함

mysql utf8로 복구/복원
CMD: mysql -u [사용자] -p --default-character-set=utf8 [데이타베이스] [테이블] < [덤프파일]
* 덤프파일은 내용이 "insert into ...."로 되어있어야함 (mysqldump로 뽑은;)

mysql replace 치환
SQL: UPDATE [테이블명] SET [컬럼명]=REPLACE(REPLACE([컬럼명],'[찾을내용1]','[바꿀내용1]'),' [찾을내용2]','[바꿀내용2]')

최근에 올라온 글

최근에 달린 댓글