본문 바로가기

데이타베이스34

ORA-01722 : 수치가 부적합합니다. 엑셀자료를 SQL Developer를 이용해서 Import 시에 다음과 같은 오류가 발생했습니다. ORA-01722 : 수치가 부적합합니다. 원인을 찾아보니 엑셀의 셀 상에 숫자가 10000 인데 이것을 SQL Developer에서 임포트하기 위해서 해석하는 과정에 10000.0 으로 인식을 하네요. 문제는 해당 값이 들어갈 필드의 타입을 Number(11)로 되어 있다보니 소수점에 대한 처리를 할 수가 없어서 오류가 나는 것이었습니다. 즉, SQL Developer가 인식하는 포맷에 맞게 필드의 타입을 선언해 주어야 문제가 없드라구요. 해결 방법은 해당 필드의 타입을 Number(11,1)로 변경해서 처리했습니다. 2015. 10. 30.
외부에서 IP공유기로 연결된 망에 설치된 Oracle 9i 에 접속하기 일반적으로 IP공유기 망 안에 있는 PC에 접속하기를 원할 때, 공유기에서 해당 PC로 포트포워딩을 해주면 됩니다.하지만, 오라클은 이 것 만으로는 외부에서 접속할 수가 없습니다. 아래 설명대로 따라 하시면 외부에서 접속을 할 수 있습니다. 1. 공유기에서 포트포워딩을 Oracle 9i가 설치된 PC로 설정한다. 2. Oracle 9i가 설치된 PC의 레지스트리에 다음 값을 설정한다. \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 에 USE_SHARED_SOCKET = TRUE 를 설정 3. PC를 재시작 한다. 2015. 10. 23.
날짜, 시간 데이터 처리 예제 1) 현재 날자와 시간을 얻는다. SQL : SELECT SYSDATE(); 결과 : 2015-06-18 11:42:41 SQL : SELECT NOW(); 결과 : 2015-06-18 11:42:41 2) 현재 시간을 얻는다. SQL : SELECT CURTIME(); 결과 : 11:44:46 3) 현재 날자를 얻는다.SQL : SELECT CURDATE();결과 : 2015-06-18 4) 일수 더하기 SQL : SELECT DATE_ADD('20150618', INTERVAL 5 DAY); SQL : SELECT DATE_ADD('2015-06-18', INTERVAL 5 DAY); SQL : SELECT DATE_ADD('2015/06/18', INTERVAL 5 DAY); SQL : SELECT.. 2015. 6. 18.
PK 가 없는 테이블의 레코드 삭제시 오류(Error Code:1175) 해결 방법 테이블을 생성할 때, PK가 없이 생성해야 하는 경우가 있습니다. 이때, 해당 테이블의 레코드를 수정하거나 삭제하려고 하면 아래 오류가 뜹니다. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 에러의 이유는 MySQL이 Where 절을 사용해서 Update 또는 Delete 를 할 수 없도록 막아서 그렇다고 합니다. 해결 방법은 다음과 같습니다. 1) 쿼리 구문에서 다음 문장을 실행해 줍니다... 2015. 4. 24.
키워드를 칼럼명으로 사용하기 테이블 생성시에 예약어를 컬럼명으로 사용하거나 조회시에 예약어를 알리아스로 하고 싶을 때는 해당 컬럼명이나 알리아스를 더블쿼테이션(")을 이용해서 깜싸준다. CREATE TABLE TEST("LEVEL" number); SELECT 1 AS "LEVEL" FROM DUAL; * 예약어를 더블쿼테이션을 이용해서 감싸면 대소문자를 구분하게 됩니다. 사용시 대소문자를 구분해서 사용해야 합니다. 2014. 6. 19.
Oracle cron Unix의 cron과 같이 오라클에서도 일정한 시점, 또는 간격으로 반복해서 job을 수행시킬 수 있다. DBMS_JOB package를 이용하여 수행시킬 수 있는데, 이것을 위해서는 SNP background process가 start되어 있어야 한다. 다음의 parameter를 init.ora file에 설정한 후 oracle을 startup하면 SNP process가 올라온다. job_queue_processes = 1 -> 이 파라미터는 snp process를 몇 개 띄울지를 결정한다. default=0 job_queue_interval = 60 -> 이 파라미터는 snp process가 깨어나는 간격을 초로 설정한다. DBMS_JOB Package는 다음과 같은 procedure를 이용하여 사용.. 2014. 6. 4.
링크드서버 만들기 ■ 링크드서버 만들기 use master go -- Adding linked server (from SQL Server Books Online): /* sp_addlinkedserver [@server =] 'server' [, [@srvproduct =] 'product_name'] [, [@provider =] 'provider_name'] [, [@datasrc =] 'data_source'] [, [@location =] 'location'] [, [@provstr =] 'provider_string'] [, [@catalog =] 'catalog'] */EXEC sp_addlinkedserver 'Ora817Link', 'Oracle', 'MSDAORA', 'oracle817'설명 : Ora81.. 2014. 6. 2.