티스토리 뷰
며칠전 갑작스런 사장님의 전화,
그리고 함께 투하된 폭탄ㅡ.
나이지리아의 웹을 1.0에서 1.2로 업글과제.
업그레이드의 가장 큰 어려운 점은 디비 마이그레이션 작업이다.
아무래도 새로 생성된 테이블이라던가, 컬럼등이 적용되어있지 않아서
일일히 비교해야하는 "쌩 노가다" 작업인것이다.
작업 중에 얻은 디비관련 지식들이 많은데..
그 중에 하나가 2000과 2005사이의 호환성 문제였다.
디비에서 값을 가져오는 부분에 있어서
*= 이런 구문이 많다.
이는 left outer join과 조금 다른 결과 값을 가져오므로
일괄로 변경하는것은 쌩 노가다질..
어차피 자바베이스로 웹이 바뀌면, iBatis로 대체하면서 저런 구문들도 다 바꿀것이므로
좀 더 간편한 방법을 택하기로 했다.
MS2000구문을 2005에서 사용할 수 있도록 호환 레벨 수준을 변경하는 것이다.
EXEC sp_dbcmptlevel 'CONDORFMS_INTELS', '80';
-- sp_dbcmptlevel '데이타베이스명', 80
만약 80으로 했는데도 에러메세지가 아래와 같이 나온다면 숫자를 더 높혀주자.
Error Type:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.
==========================================================================================
SQL Server 2005 버전에서는 non-ANSI OUTER JOIN을 지원하지 않는 것이 기본값이므로
이것을 가능하게 하려면 DB의 호환성을 조절하여
이전 버전의 systax도 db 엔진이 이해할 수 있도록 별도의 작업을 해주어야만
구문에러 없이 쿼리가 수행된다.
물론 가능하다면 호환성에 맞추어 쿼리문을 수정하는 것이 권장되지만,
우선은 다음의 쿼리를 사용하여 호환 수준을 변경하도록 해야 한다.
참조 : http://doc.ddart.net/mssql/sql2000/html/tsqlref/ts_sp_da-di_5c8c.htm
'Computer > Databases' 카테고리의 다른 글
[MSSQL] 여러컬럼의 값을 하나의 컬럼으로 합치는 방법 (0) | 2009.06.03 |
---|---|
MSSQL의 DROP FUNCTION/PROCEDURE/TRIGGER (0) | 2009.05.28 |
ms sql 백업 (0) | 2009.05.22 |
SQL 모음 (0) | 2009.05.14 |
SQL문 정리 (0) | 2009.05.14 |
- Total
- Today
- Yesterday
- 부드러운맛
- javascript
- 단체소송
- 패밀리세일
- 해외직구
- 라고스
- 기부사기
- 마라탕 #마라상궈 #마라탕재료 #쉽게만드는마라탕 #중딩입맛 #마라탕잡탕
- 팸세일
- 나이지리아
- 와코마리아 스웨터
- 한남동세일
- 와코마리아팸세일
- 기부피해
- UML
- 홈택스
- 새희망씨앗 피해자
- 리터너블
- 새희망씨앗
- 인도
- MySQL
- eclipse
- 와코마리아
- 6월 패밀리세일
- java
- VirtureBox
- 안드로이드
- 페밀리세일
- 와코마리아한남동
- 사업자등록
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |