이 블로그 검색

2014년 6월 16일 월요일

SQL Server 에러번호로 에러메세지 확인하기

 
 
SELECT * FROM MASTER.SYS.MESSAGES WHERE MESSAGE_ID = 8630 AND LANGUAGE_ID = 1042

결과 : 8630 1042 17 0 내부 쿼리 프로세서 오류: 쿼리 프로세서 실행 중 오류가 발생했습니다.

Windows Server 2008에 SQL Server 2008 설치시 에러

증상

.net Framework 3.5 설치관련 에러 메세지



 

해결 
 따로 3.5를 설치할 필요 없으며 (할려고 해도 에러) 
서버 로그인시 초기 구성 작업 창이 뜨면 기능 추가 를 통해 설치가 가능하다. 
(실행 > ServerManagerLauncher 로도 실행가능함) 





제거되지 않는 공백


SELECT 문으로 봤을때 462 라고만 나오고
REPLACE(컬럼,' ', '') 또는 LTRIM,RTRIM을 사용해도
제대로 제거되지 않는 공백이 포함되어 있는 데이터의
ASCII 코드를 살펴보니 아래와 같은 데이터들이 포함.


DECLARE @position int, @string char(15)
SET @position = 1
SET @string = (select TESTCOL from TESTTBL where ~~~ )
WHILE @position <= DATALENGTH(@string)
 BEGIN
 SELECT ASCII(SUBSTRING(@string, @position, 1)),
 CHAR(ASCII(SUBSTRING(@string, @position, 1)))
 SET @position = @position + 1
 END


-- 결과 --------
----------- ----
52 4
----------- ----
54 6
----------- ----
50 2
----------- ----
9
----------- ----
32
----------- ----
32
----------- ----
32
----------- ----
32


오라클에서 SQL Server로 이관한 데이터에는 겉으로 보기엔 같은 공백,
ASCII 다양한 공백이 포함되어 있었고
REPLACE(컬럼, CHAR(9), '') 와 같은 방법으로 처리
CHAR(32)는 일반적인 공백이므로 REPLACE나 TRIM으로 처리가 가능.


SQL SERVER 에서는 CHAR(9)가 포함된 두 개의 데이터를 구분하지만
SSAS에서 차원처리를 하거나 할때는 같은 데이터로 보고 에러를 낸다.

(키중복 등)

특정 차원 멤버로 필터링된 측정값 생성

CREATE MEMBER CURRENTCUBE.[Measures].[남성고객수]

AS SUM({ [성별].[성별].&[M]}, [Measures].[고객고유카운트]);


CREATE MEMBER CURRENTCUBE.[Measures].[여성고객수]

AS SUM({ [성별].[성별].&[F]}, [Measures].[고객고유카운트]);

엑셀 새창 띄우기

엑셀파일 더블클릭시 새창으로 띄우기

1. 실행 → regedit

2. HKEY_CLASSES_ROOT\Excel.sheet.12\shell\open\ddeexec → 폴더 삭제

3. HKEY_CLASSES_ROOT\Excel.sheet.12\shell\open\command\command  → 삭제

4. HKEY_CLASSES_ROOT\Excel.sheet.12\shell\open\command\(기본값)  수정
    →  C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /en "%1
 

Oracle Calendar table

오라클 일자테이블 생성


SELECT TO_CHAR (MYDATE, 'yyyymmdd')   AS DATE_CD,
       TO_CHAR (MYDATE, 'yyyy')                 AS YEAR_CD,
       TO_CHAR (MYDATE, 'yyyy')||'년'          AS YEAR_NM,
       TO_CHAR (MYDATE, 'MM')                   AS MONTH_CD,
       TO_CHAR (MYDATE, 'MM')||'월'            AS MONTH_NM,
       TO_CHAR (MYDATE, 'DD')                   AS DAY_CD,
       TO_CHAR (MYDATE, 'DD')||'일'            AS DAY_NM,
       TO_CHAR (MYDATE, 'D')                     AS WEEK_CD,
       TO_CHAR (MYDATE, 'Day')                  AS WEEK_NM,
       TO_CHAR (MYDATE, 'WW')                  AS YEAR_WEEK_CD,
       TO_CHAR (MYDATE, 'WW')||'주차'        AS YEAR_WEEK_NM,
       TO_CHAR (MYDATE, 'Q')                     AS QRTR_CD,
       TO_CHAR (MYDATE, 'Q')||'/4분기'        AS QRTR_NM,
       DECODE( TO_CHAR (MYDATE, 'Q'), '1','1','2','1','3','2','4','2')                      AS HALF_CD,
       DECODE( TO_CHAR (MYDATE, 'Q'), '1','상반기','2','상반기','3','하반기','4','하반기')  AS HALF_NM
  FROM (
        SELECT TRUNC (ADD_MONTHS (SYSDATE, -60), 'yy') - 1 + LEVEL AS MYDATE
           FROM DUAL
         CONNECT BY LEVEL <= (SELECT   TRUNC (ADD_MONTHS (SYSDATE, 60), 'yy')
                                     - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yy')
                                FROM DUAL
                             )
       );


 

2014년 5월 1일 목요일

SSMS 결과창 보이기/숨기기

이전 버전까지는 잘 사용하던 쿼리결과창 보이기 숨기기 (Ctrl+R)가 SQL Server 2012버전의 SSMS 부터는

따로 키 지정을 해줘야한다.


도구(T) > 사용자 지정(C) > 키보드(K)
창.결과창표시 선택 > 새 바로 가기 사용 위치(N) : "SQL 쿼리 편집기"
바로 가기 키 누르기(P) : "Ctrl+R"
할당(S) > 확인

 

Tools > Customize > Keyboard >
"Window.ShowResultsPane" > Use new shortcut in : "SQL Query Editor"
Press shortcut keys : "Ctrl+R"
Assign > OK