본문 바로가기

DB

Informix 개행문자 입력오류 해결 InformixDB 11.7 Newline Characters 인포믹스DB에서 개행문자 Insert시에 DB Error가 발생하는경우 설정파일변경(1) 또는 session별로 EXECUTE PROCEDEURE(2) 를 사용 하여 해결할 수 있다. 1. onconfig 파일 변경 ALLOW_NEWLINE 1
informix jdbc URL template 인코딩 설정 DBeaver 데이터베이스 클라이언트 프로그램을 사용하던 도중 인코딩문제로 한글이 깨지는문제가 발생. 프로그램 내부에 인코딩설정 하는 부분이 따로 없는듯하여 커넥션을 맺는 부분에서 수동으로 직접 지정하는 방식으로 해결함. 기본적으로 URL template 설정하는 경우 다음과 같은 방식이다. jdbc:informix-sqli://{host}:{port}/{database}:INFORMIXSERVER={server} IBM Knowledge center에서 검색해보니 다음과 같이 설명이 되어있다. jdbc:informix-sqli://:/: informixserver=;user=; password= 여기에 한글(EUCKR) 인코딩을 추가적으로 설정하고 싶다면 다음을 추가로 적어준다. NEWCODESET=E..
DB SQL single quote(작은따옴표) insert Insert 하려고하는 컬럼이 ' '로 감싸고 있다면, ''를 두번 연속으로 사용한다. ex)Update TABLE SET COLUMN sEngNm='I''M' where key_column='00001';
ALTIBASE 내장 함수 ALTIBASE 함수 문자 함수 문자열 입력 값에 대한 작업 수행, 문자열이나 숫자 값을 반환 숫자 값 반환 : ASCII, BINARY_LENGTH, CHAR_LENGTH(CHARLENGTH, LENGTH), INSTR(POSITION, INSTRB) 문자 값 반환 : CHR, CONCAT, DIGITS, INITCAP, LOWER LPAD, LTRIM, NCHR, REPLICATE, REPLACE2, REVERSE_STR, RPAD, RTRIM, STUFF, SUBSTR(SUBSTRING), TRANSLATE, TRIM, UPPER 날짜 함수 날짜 및 시간 입력 값에 대한 작업을 수행하며 문자열, 숫자 또는 날짜와 시간 값을 반환 날짜 함수 : ADD_MONTHS, DATEADD, DATEDIFF, ..
CURSOR 커서 Altibase DB(ver 4.x)에서 사용 커서에서 사용하는 변수 설정 ex) EXEC SQL BEGIN DECLARE SECTION; int a; char ch1[30]; .... EXEC SQL END DECLARE SECTION; 커서 사용 5단계 순서 //-- 쿼리문 정의 --// EXEC SQL PREPARE statment FROM var; 변수 var에 SQL문이 저장되어 있어야 함.. ex) char SqlCmd[100]; memset(SqlCmd,0x00,sizeof(SqlCmd)); sprintf(SqlCmd, "SELECT user_no, user_name, user_area FROM list"); EXEC SQL PREPARE ST_1 FROM :SqlCmd; //-- 커서 선언..
MySQL – 1 MySQL – 1 Mysql에 접속하는 방법에 대해 알아보자. 먼저 이론적으로 알아보면, 클라이언트가 Mysql서버에 접속할 경우 1. 접근 가능한 아이디인지, 호스트인지에 대한 권한 체크 -> 2. 테이블, 컬럼 등에 대한 CRUD권한 체크 -> 3. 로그인 순으로 이루어진다. 이 때 1,2과정에서 Mysql 데이터베이스에 있는 db, user, host, tables_priv, columns_priv의 테이블에 접근권한을 확인한다. 먼저 user 테이블에 대해 권한을 확인하는데 user테이블에서 Y인 경우 슈퍼유저의 권한이 생긴다. 즉 모든 db에 접근할 수 있고 CRUD도 가능하게 된다. 이 테이블에서 N이면 다음으로 host,db 테이블에 접근하여 각 db와 host에 대해 접근가능한지를 확인하고..
DB 엔진 종류(MyISAM, InnoDB) DB 엔진 종류(MyISAM, InnoDB) MySQL을 보면 데이터베이스 엔진 종류가 다양하다...MyISAM, InnoDB, NDB, Archive...... 그중에서 가장 많이 사용되는 두 엔진의 차이점이 어떤 것인지 알아보자. 두 엔진의 가장 큰 차이점이라고 한다면 트랜잭션 관리의 가능여부이다. MyISAM은 트랜잭션 관리를 하지 않지만 속도가 빠르다는 장점이 있다. 주로 게시판이나 블로그처럼 글을 쓰는 것 보다 읽는 것이 비중이 큰 곳에 사용하는 것이 효과적이다. 데이터의 무결성이 보장되지 않아 관리자가 직접 확인해야 한다. InnoDB는 트랜잭션기능이 있지만 속도면에서 MyISAM보다 느리다. row단위로 lock이 되기 때문에 INSERT와 UPDATE 기능에서 효과적이다. 외래키, 제약조건..
JDBC와 ODBC의 차이점 JDBC와 ODBC의 차이점 JDBC와 ODBC에 대해 정리해보자. JDBC - JDBC(Java Database Connectivity)를 풀어 보면 직관적으로도 이해할 수 있다. 자바와 데이터베이스를 연결하기 위한 자바API를 말한다. 내가 사용하는 데이터베이스는 주로 MySQL이기 때문에 MySQL용 드라이버를 다운받아서 사용할 수 있다. (드라이버란 하드웨어를 제어하기 위해 필요한 컴퓨터 프로그램을 말한다.) ODBC - (Open Database Connectivity)는 마이크로소프트사에 의해 만들어진, 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격으로, 각 데이터베이스의 차이는 ODBC 드라이버에 의해서 흡수되기 때문에 유저는 ODBC에 정해진 순서에 따라서 프로그램을 쓰면 접속처의 데..