태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

티스토리 툴바


원문 : http://weblogs.asp.net/scottgu/archive/2006/12/19/tip-trick-how-to-run-a-root-site-with-the-local-web-server-using-vs-2005-sp1.aspx

------------------------------------------
내가 자주 받는 질문 중의 하나는

ASP.NET 웹사이트 프로젝트의 루트를 "/"로 할 수 있냐는 것이다.

VS 웹서버나 VS 2005 웹사이트 프로젝트 모델에서 말이다.



기본적으로 파일시스템 기반의 웹사이트 프로젝트를 실행하면,

VS는 가상 경로를 프로젝트 루트 디렉토리 이름으로 해서 실행한다.

예를 들어 프로젝트 이름이 "Foo"이면 "http://localhost:1234/Foo/"가 루트가 된다.

수많은 사람들이 원하는 것은 그냥 단순히 "http://localhost:1234/"로 실행되는 것이다.

80 포트가 사용되고 있지 않을 경우에는 "http://localhost"로 실행되어야 한다.

이렇게 하면 사이트 네비게이션과 url 다루는 로직이 훨씬더 간단해진다.



VS 2005 SP1이 나오기 전에는, IIS로 실행하도록 권했다.

(예전에 그에 관한 글들을 블로그에 올렸었다.)

좋은 뉴스를 전해주자면 VS 2005 SP1에서는 이렇게 만드는게 훨씬 쉬워졌다는 것이다.



- VS 2005 웹사이트 프로젝트의 루트를 "/"로 설정하는 단계별 지침

웹사이트 프로젝트의 루트를 "/"로 만드는 설정방법에 대해 살펴볼 것이다.

1) 기존의 웹사이트 프로젝트나 새로 만드는 프로젝트를 파일 -> 새 웹사이트 메뉴를 선택해서 연다.

2) Visual Studio의 솔루션 탐색기를 사용해서 웹사이트 프로젝트를 선택한다.

3) 속성창을 보면 웹사이트 프로젝트 속성들이 보일 것이다.

  우리가 할 작업과 관계있는 속성은 "가상 경로", "사용자 동적 포트", "포트 넘버" 3개다.

  "가상 경로"를 "/"로 바꾼다. 그리고 동적 포트 세팅을 "false"로 하고 특정 포트 넘버를 설정한다.

  (예를 들어 80포트가 사용중이면 8081로 하고 아니면 80으로 한다)

4) 페이지 하나를 클릭해서 실행해 본다. 웹서버가 "/"를 루트로 해서 실행될 것이다.



"http://localhost" 뒤에 ":8081"이 붙는 것을 주목하라.

이것은 IIS7이 이미 80포트를 점유하고 있기 때문이다.

만일 IIS7을 중지시키면 "http://localhost"로 설정할 수 있을 것이다.



이제 사이트맵에서도 "/"로 시작하게 만들 수 있다. (예: /products, /help 등등)

또한 redirect나 html에서도 그렇게 사용할 수 있다. (예: <a href="http://weblog.asp.netpath">)

물론 자바스크립트에서 가능하다. (<script src="http://weblogs.asp.net/js/library1.js"></script>)

출처 :
http://taeyo.pe.kr/threadboard/Content.asp?table=Board_Knowhow&seqs=1115&page=1
Posted by TIGERJUNE

트랙백 주소 http://tigerjune.tistory.com/trackback/154 관련글 쓰기

댓글을 달아 주세요

보낼 편지함에서 메일이 걸리는 문제를 해결하는 방법
http://support.microsoft.com/kb/195922/ko

요약

경우에 따라 보낸 메일이 보낼 편지함 폴더로 이동하지만 보낸 편지함 폴더로는 이동하지 않을 수 있습니다. 이 문서에서는 Microsoft Outlook에서 보낼 편지함에 남아 있는 메일 문제를 해결하는 방법을 설명합니다.

추가 정보

다음과 같은 원인으로 인해 메일이 보낼 편지함에 남아 있을 수 있습니다.

보내기 전에 보낼 편지함에서 메시지를 연 경우

오프라인으로 작업 중이고 원격 연결을 하지 않은 경우

개인 폴더나 개인 주소록 파일이 손상된 경우

추가 기능이 오래 되었거나 호환되지 않는 경우

오래된 계정에서 받은 전자 메일 메시지에 회신한 경우

보내기 전에 보낼 편지함에서 메시지를 연 경우

메시지를 보내면 Outlook은 메시지를 보낼 편지함으로 이동합니다. 메일 서버에 연결되면 Outlook은 배달을 시도하고 보낸 메시지 복사본이 보낼 편지함에 나타납니다. 보낼 편지함에 있는 동안 메시지를 열고 닫으면 메시지 상태가 변경되고 보내지지 않습니다. 보낼 편지함 메시지 보기에서 메시지 제목이 더 이상 기울임꼴 서식으로 나타나지 않습니다.

메시지를 보낸 상태로 되돌리려면 메시지를 열고 메시지 도구 모음에서 보내기를 누릅니다. 그러면 보낼 편지함 메시지 보기에서 메시지 제목이 기울임꼴로 나타납니다. 다음 번에 메일 서버에 연결되면 Outlook은 메시지를 배달합니다.

오프라인으로 작업 중이고 원격 연결을 하지 않은 경우

Internet Mail 전용(IMO) 설치를 사용하는 경우
1. 파일 메뉴에서 오프라인으로 작업 확인란 선택을 취소합니다.
2. 도구 메뉴에서 보내기/받기를 가리키고 해당 인터넷 서비스 계정 이름을 눌러 메시지를 다시 보냅니다.
Microsoft Exchange Server 서비스에서 회사 작업 그룹(CW) 설치를 사용하는 경우
1. 도구 메뉴에서 서비스를 눌러 서비스 대화 상자를 엽니다.
2. 서비스 탭에서 Microsoft Exchange Server 확인란을 선택한 다음 등록 정보를 누릅니다.
3. 고급 탭에서 오프라인 작업 가능 확인란의 선택을 취소합니다.
4. 확인을 두 번 눌러 모든 대화 상자를 닫습니다.
5. Outlook을 종료한 다음 다시 시작합니다.
참고: Microsoft Exchange Server 서비스에서 오프라인으로 작업하는 경우 Microsoft 팩스 서비스도 오프라인 상태가 됩니다. 오프라인으로 설정된 유일한 서비스가 Microsoft Exchange Server 서비스이면 팩스 메시지는 보낼 편지함에 남게 됩니다.

개인 폴더나 개인 주소록 파일이 손상된 경우

개인 폴더(.pst) 파일이나 개인 주소록(.pab) 파일이 손상된 경우 다음 절차를 수행하십시오. 각 절차는 다음 절에서 설명합니다.

손상된 폴더 또는 파일 복구

새 개인 폴더(.pst) 파일 만들기

새 프로필 만들기

추가 개인 폴더(.pst) 또는 오프라인 폴더(.ost) 파일 검색 및 이름 바꾸기

받는 사람의 전자 메일 주소가 개인 주소록에 있는지 확인

다른 전자 메일 클라이언트 시도

손상된 폴더 또는 파일 복구

첫 번째 문제 해결 단계는 받은 편지함 오류 수정 도구를 실행하여 손상된 파일을 복구하는 것입니다. 이렇게 하려면 다음과 같이 합니다.
1. 폴더 목록이 표시되지 않으면 받은 편지함이 열려 있는 동안 보기 메뉴에서 폴더 목록을 누릅니다.
2. 폴더 목록에서 개인 폴더 아이콘을 마우스 오른쪽 단추로 누르고 "개인 폴더" 등록 정보를 누르고 일반 탭에서 고급을 누릅니다. .pst 파일의 경로와 이름을 적어 둡니다. 취소를 두 번 눌러 대화 상자를 닫습니다.
3. Outlook을 끝냅니다.
4. 시작을 누르고 프로그램, 보조프로그램, 시스템 도구를 차례로 가리킨 다음 받은 편지함 오류 수정 도구를 누릅니다.

참고: 받은 편지함 오류 수정 도구가 시스템 도구 메뉴에 나타나지 않으면 시작을 누르고 찾기를 가리키고 파일 또는 폴더를 누른 다음 Scanpst.exe 파일을 검색합니다.

Microsoft Windows 2000 또는 Microsoft Windows Millennium Edition(Me)을 실행하는 경우 시작을 누르고 검색을 가리킨 다음 파일 또는 폴더를 누른 다음 Scanpst.exe 파일을 검색합니다. 프로그램을 찾았으면 두 번 눌러 실행합니다.
5. 받은 편지함 오류 수정 도구에서 찾아보기를 누른 다음 2단계에서 기록한 개인 저장소 파일(.pst)을 선택합니다.
6. 시작을 눌러 파일 검색을 시작합니다.
7. 받은 편지함 오류 수정 도구가 완료되었으면 Outlook을 다시 시작합니다.
8. 보낼 편지함에 걸린 메시지 콘텐트를 복사하고 새 메시지에 붙여 넣습니다.
9. 원본 메시지를 삭제한 다음 새 메시지를 보내 봅니다.
메뉴로

새 개인 폴더(.pst) 파일 만들기

두 번째 문제 해결 단계는 새 개인 폴더(.pst) 파일을 만드는 것입니다.

Internet Mail 전용(IMO) 설치를 실행하는 경우
1. 파일 메뉴에서 새로 만들기를 가리킨 다음 개인 폴더 파일(.pst)을 누릅니다.
2. 새 개인 폴더 파일의 이름을 입력하고 작성을 누른 다음 확인을 누릅니다.
3. 새 개인 폴더 파일을 마우스 오른쪽 단추로 누르고 바로 가기 메뉴에서 등록 정보를 누릅니다.
4. 이 개인 폴더 파일에 POP 메일 배달 확인란을 선택합니다. 확인을 누른 다음 Outlook을 닫고 다시 시작합니다.
5. 보낼 편지함을 제외한 모든 폴더의 콘텐트를 새 개인 폴더(.pst) 파일로 복사한 다음 메시지를 다시 만들어 보냅니다.
회사 작업 그룹(CW) 설치를 실행 중이고 메일이 개인 폴더(.pst) 파일로 배달되고 있는 경우
1. 도구 메뉴에서 서비스를 누릅니다.
2. 추가를 누르고 사용 가능한 정보 서비스 목록에서 개인 폴더를 누른 다음 확인을 누릅니다.
3. 새 개인 폴더(.pst) 파일의 고유한 이름을 입력하고 열기를 누른 다음 확인을 누릅니다.
4. 배달 탭의 다음 위치로 새 메일 배달에서 새 개인 폴더(.pst) 파일을 누른 다음 확인을 누릅니다.
5. 보낼 편지함을 제외한 모든 폴더의 콘텐트를 새 개인 폴더(.pst) 파일로 복사합니다.
6. Outlook을 다시 시작합니다.
7. 메시지를 다시 만든 다음 보냅니다.
메뉴로

새 프로필 만들기

세 번째 문제 해결 단계는 새 개인 폴더(.pst) 파일과 새 개인 주소록(.pab) 파일을 포함하는 새 프로필을 만드는 것입니다.

Internet Mail 전용(IMO) 설치를 사용하는 경우 다음 단계를 수행하십시오.

1. 실행 중인 경우 Outlook을 종료합니다.
2. 시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
3. 메일 아이콘을 두 번 누릅니다.
4. 각 메일 계정을 누른 다음 제거합니다. 그런 다음 각 메일 계정을 다시 추가합니다.

참고: 이러한 항목을 제거하기 전에 필요한 모든 설정을 반드시 알고 있어야 합니다.
5. 완료한 후 닫기를 누른 다음 제어판을 닫습니다.
6. Outlook을 다시 시작하고 메시지를 보내 봅니다.
회사 작업 그룹 설치(CW)를 사용하는 경우 다음 단계를 수행하십시오.

1. 실행 중인 경우 Outlook을 종료합니다.
2. 시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
3. 메일과 팩스 아이콘이나 메일 아이콘을 두 번 누르고 프로필 보기를 누른 다음 추가를 눌러 새 프로필을 추가합니다.
4. 받은 편지함 설치 마법사의 지시를 따라 새 개인 폴더(.pst) 파일과 개인 주소록을 포함하는 새 프로필을 만듭니다.
5. Outlook을 시작하고 메시지를 보내 봅니다.
메뉴로

추가 개인 폴더(.pst) 또는 오프라인 폴더(.ost) 파일 검색 및 이름 바꾸기

네 번째 문제 해결 단계는 시스템에서 여러 개인 폴더(.pst) 파일이나 오프라인 폴더(.ost) 파일을 검색하는 것입니다. 각 파일 이름을 바꾼 다음 새 프로필을 만듭니다.

메뉴로

받는 사람의 전자 메일 주소가 개인 주소록에 있는지 확인

다섯 번째 문제 해결 단계는 받는 사람의 전자 메일 이름이 개인 주소록에 있는지 확인하는 것입니다. 없을 경우 추가합니다. 있을 경우 항목을 삭제하고 다시 추가합니다.

메뉴로

다른 전자 메일 클라이언트 시도

마지막 문제 해결 단계는 다른 클라이언트를 시도하는 것입니다. Outlook을 종료한 다음 하드 디스크에서 Exchng32.exe를 검색합니다. exchng32.exe를 실행하고 기존의 서비스를 사용하여 메일을 보냅니다.

Exchange 클라이언트를 사용하여 메일을 보낼 수 있는 경우 Outlook을 제거한 다음 다시 설치합니다. 다음과 같이 하십시오.

참고: Windows에는 여러 버전이 있으므로 아래 절차는 사용 중인 컴퓨터에 따라 달라질 수 있습니다. 이러한 경우 해당 제품 설명서를 참조하여 아래 단계를 완료하십시오.
1. Exchange를 종료합니다.
2. 시작을 누르고 설정을 가리키고 제어판을 누른 다음 프로그램 추가/제거 아이콘을 두 번 누릅니다.
3. Microsoft Office 2000 또는 Microsoft Outlook 2000을 누르고 추가/제거를 누른 다음 제거를 누릅니다.
4. 시작을 누르고 찾기를 가리키고 파일 또는 폴더를 누르고 이름 상자에 Outllib.dll을 입력합니다.

Windows 2000 또는 Windows Me에서는 시작을 누르고 검색을 가리키고 파일 또는 폴더를 누르고 이름이 다음과 같은 파일 또는 폴더 찾기 상자에 Outllib.dll을 입력합니다. 파일을 찾았으면 파일을 누릅니다. 파일 메뉴에서 이름 바꾸기를 누르고 파일 이름을 Outllib.bad로 바꾼 다음 Enter 키를 누릅니다. 검색 결과 대화 상자를 닫습니다.
5. Outlook을 다시 설치합니다.
메뉴로

추가 기능이 오래 되었거나 호환되지 않는 경우

오래 되었거나 호환되지 않는 추가 기능으로 인해 메일 배달 문제가 발생할 수 있습니다.

오래된 Netscape 확장이나 팩스 소프트웨어 같은 추가 기능은 전자 메일 배달 문제를 일으킬 수 있습니다. 다음 단계를 수행하여 활성 추가 기능을 검사하십시오.
1. 도구 메뉴에서 옵션을 눌러 옵션 대화 상자를 엽니다.
2. 기타 탭에서 고급 옵션을 누른 다음 추가 기능 관리자를 누릅니다. 활성 추가 기능에는 추가 기능 이름 옆에 확인 표시가 있습니다.
3. 추가 기능을 비활성화하려면 추가 기능 확인란 선택을 취소한 다음 확인을 세 번 눌러 모든 대화 상자를 닫습니다.
문서의 다른 방법으로 문제가 해결되지 않을 경우 다음 방법을 사용하여 보낼 편지함을 비울 수도 있습니다.
1. 새 폴더를 만들고 이름을 Not Sent라고 지정합니다.
2. 보낼 편지함에 있는 기존 메시지를 Not Sent 폴더로 이동합니다.
3. 새 메시지를 보내 테스트합니다. 새 메시지를 성공적으로 보낼 수 있으면 Not Sent 폴더에 부적절하게 서식이 지정된 메시지가 있는 것일 수 있습니다.

오래된 계정에서 받은 전자 메일 메시지에 회신한 경우

Outlook에서 전자 메일 메시지에 회신하면 Outlook은 원래 메시지를 받았을 때 사용한 계정을 통해 회신을 보내려고 합니다. 메시지를 받은 계정이 Outlook 프로필이나 계정 설정에 더 이상 존재하지 않을 경우 메시지가 보낼 편지함에 남아 있을 수 있습니다. 이 시나리오는 로컬 하드 디스크의 개인 폴더(.pst) 파일에 있는 받은 편지함에 배달된 오래된 메일이 있고 메시지를 받은 후에 메일 계정을 변경했을 때 발생할 가능성이 가장 큽니다.

이 문제를 해결하는 가장 쉬운 방법은 보낼 편지함에 걸린 메시지를 받은 편지함으로 이동하고, 새 메시지를 만들어 주소를 지정하고, 보낼 편지함에 걸린 메시지의 정보를 새 메시지에 붙여 넣은 다음, 새 메시지를 보내는 것입니다. Outlook은 오래된 계정 대신 현재 기본 전자 메일 계정을 사용하여 새 메시지를 보내려고 시도합니다.

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
195924 (http://support.microsoft.com/kb/195924/KO/) OL2000: 보낸 항목이 보낼 편지함에 남아 있다는 오류 메시지

195778 (http://support.microsoft.com/kb/195778/KO/) OL2000: (CW) 전자 메일이 보낼 편지함에 남아 있다
Posted by TIGERJUNE
TAG 아웃룩

트랙백 주소 http://tigerjune.tistory.com/trackback/152 관련글 쓰기

댓글을 달아 주세요

다음은 결과에 순번(rownumber)를 추가하여 보여주는 방법입니다.

USE Pubs
go
SELECT (
SELECT COUNT(*) FROM authors e2 WHERE
e2.au_id <= e.au_id
) AS rownumber
, au_id, au_lname
FROM authors e ORDER BY au_id

[실행 결과]
rownumber   au_id       au_lname
----------- ----------- ----------------------------------------
1           172-32-1176 White
2           213-46-8915 Green
3           238-95-7766 Carson
4           267-41-2394 O'Leary
5           274-80-9391 Straight
6           341-22-1782 Smith
7           409-56-7008 Bennet
8           427-17-2319 Dull
9           472-27-2349 Gringlesby
10          486-29-1786 Locksley
11       .............


출처 : Microsoft SQL Server 2000 나만의 노하우 & Tip

Posted by TIGERJUNE
TAG MSSQL

트랙백 주소 http://tigerjune.tistory.com/trackback/145 관련글 쓰기

댓글을 달아 주세요

  1. 2006/12/08 11:34

    2005에서는 row_number() 라는게 추가되서 아주 쉽게 할수 있습니다. 이미 아시겠지만 참고하시라고 ^^;;
    SELECT ROW_NUMBER() OVER(ORDER BY au_id) AS ROWNUM
    , au_id, au_lname
    FROM authors

select top 150000 newID() as code

select top 150000 newID() as code from  sysobjects

select top 150000 newID() as code from  sysobjects ta, sysobjects tb

select top 150000 newID() as code from  sysobjects ta, sysobjects tb, sysobjects tc

select X.code
from
(
select top 150000 left(replace(newID(),'-',''),16) as code
from  sysobjects ta, sysobjects tb, sysobjects tc
) X
group by X.code

Posted by TIGERJUNE
TAG SQL

트랙백 주소 http://tigerjune.tistory.com/trackback/140 관련글 쓰기

댓글을 달아 주세요

Enterprise Library for .NET Framework 2.0

This release of Enterprise Library for .NET Framework 2.0 includes:
Caching Application Block,
Cryptography Application Block,
Data Access Application Block,
Exception Handling Application Block,
Logging Application Block,
and Security Application Block


설명 및 다운로드 :
http://www.microsoft.com/downloads/details.aspx?FamilyId=5A14E870-406B-4F2A-B723-97BA84AE80B5&displaylang=en
Posted by TIGERJUNE
TAG ASP.NET, c#

트랙백 주소 http://tigerjune.tistory.com/trackback/139 관련글 쓰기

댓글을 달아 주세요

set ANSI_NULLS OFF
set QUOTED_IDENTIFIER OFF
GO
ALTER Proc [dbo].[up_AccountRejoin]
/*
////////////////////////////////////////////////////////////////////////
//  수정이전 프로시저
////////////////////////////////////////////////////////////////////////
*/
@Userid varchar(15),
@Password varchar(15),
@Identitynum char(20),
@reVal int output
as
Set Nocount on
Set Xact_Abort On
Declare @Globalid int

DECLARE @Name nvarchar(10)
DECLARE @Identity char(50)
DECLARE @Identitynumflag char(50)
DECLARE @Location1 nvarchar(50)
DECLARE @Location2 nvarchar(50)
DECLARE @address nvarchar(50)
DECLARE @Telnum varchar(14)
DECLARE @Celnum varchar(14)
DECLARE @Email varchar(50)
DECLARE @Emailw char(1)
DECLARE @Level char(1)
DECLARE @Smsflag char(1)
DECLARE @Emailflag char(1)
DECLARE @LeftDate datetime
DECLARE @Pclass char(1)
DECLARE @Ticket int
DECLARE @Sex char(1)
DECLARE @Age char(10)

--SELECT Process
IF EXISTS(Select 1 from tbl_Login a inner join tbl_LeaveMember b on a.f_globalid = b.f_globalid
  where a.f_loginid = @Userid AND a.f_password = @Password AND b.f_identitynum = @Identitynum )
Begin

 SELECT @Globalid = f_globalid FROM tbl_Login  WHERE f_loginid = @Userid  AND f_password = @Password
 
 SELECT @Name = f_name, @Identity = f_identitynum, @Identitynumflag = f_Identitynumflag,  @Location1 = f_location1, @Location2 = f_location2, @address = f_address, @Telnum = f_telnum, @Celnum = f_celnum, @Email = f_email, @Emailw = f_emailw, @LeftDate = f_leftdate, @Level = f_level, @Smsflag = f_smsflag, @Emailflag = f_emailflag, @Pclass = f_pclass, @Ticket = f_ticket, @Sex = f_sex, @Age = f_age
 FROM tbl_LeaveMember WHERE f_globalid = @Globalid
 
 UPDATE tbl_Member SET f_name = @Name, f_identitynum = @Identity, f_Identitynumflag = @Identitynumflag, f_location1 = @Location1, f_location2 = @Location2, f_address = @address, f_telnum = @Telnum, f_celnum = @Celnum, f_email = @Email, f_emailw = @Emailw, f_level = @Level, f_smsflag = @Smsflag, f_emailflag = @Emailflag, f_leftdate = NULL, f_pclass = @Pclass, f_ticket = @Ticket, f_sex = @Sex, f_age = @Age
 WHERE f_globalid = @Globalid

 set @reVal = 0 -- 정상 종료
 return
End
ELSE
Begin
 set @reVal = 2  -- 정보 틀림
 return
End

set ANSI_NULLS OFF
set QUOTED_IDENTIFIER OFF
GO
ALTER Proc [dbo].[up_AccountRejoin]
/*
////////////////////////////////////////////////////////////////////////
// 수정후
////////////////////////////////////////////////////////////////////////
*/
@Userid varchar(15),
@Password varchar(15),
@Identitynum char(20),
@reVal int output
as
Set Nocount on
Set Xact_Abort On

--SELECT Process
IF EXISTS(Select 1 from tbl_Login a inner join tbl_LeaveMember b on a.f_globalid = b.f_globalid
  where a.f_loginid = @Userid AND a.f_password = @Password AND b.f_identitynum = @Identitynum )
Begin
 Begin Tran
 Update tbl_Member SET f_name = B.f_name, f_identitynum = B.f_identitynum, f_Identitynumflag = B.f_Identitynumflag, f_location1 = B.f_location1, f_location2 = B.f_location2,
 f_address = B.f_address, f_telnum = B.f_telnum, f_celnum = B.f_celnum, f_email = B.f_email, f_emailw = B.f_emailw, f_level = B.f_level, f_smsflag = B.f_smsflag,
 f_emailflag = B.f_emailflag, f_leftdate = NULL, f_pclass = B.f_pclass, f_ticket = B.f_ticket, f_sex = B.f_sex, f_age = B.f_age 
 From tbl_Member U
 inner Join tbl_Login A on U.f_globalid = A.f_globalid
 Inner Join tbl_LeaveMember B on A.f_globalid = B.f_globalid
 where A.f_loginid
=@Userid
 IF @@ERROR <> 0 GOTO errorHandler

 UPDATE  tbl_Login SET f_status = 1  WHERE f_loginid =@Userid
 IF @@ERROR <> 0 GOTO errorHandler

 DELETE From tbl_LeaveMember From tbl_LeaveMember A inner Join  tbl_Login B on A.f_globalid = B.f_globalid WHERE B.f_loginid =@Userid
 IF @@ERROR <> 0 GOTO errorHandler
 
 Commit Tran
 set @reVal = 0 -- 정상 종료
 return
End
ELSE
Begin
 set @reVal = 2  -- 정보 틀림
 return
End

errorHandler:
  ROLLBACK TRAN
  SET @reVal = 1
  RETURN

Posted by TIGERJUNE
TAG SQL

트랙백 주소 http://tigerjune.tistory.com/trackback/138 관련글 쓰기

댓글을 달아 주세요

-- sp_table0
-- 디폴트로 유저 테이블을, 그외 시스템과 뷰를 보여준다.
-- 파라미터로는 'system','view','all'이 있다.

-- sp_column0 'dbo.user_t'
-- 해당 테이블의 컬럼을 보여준다
-- 파라미터로는 테이블명을 입력해야 한다.

-- sp_block0
-- 블러킹 대상과 블러킹된 대상리스트, BUFFER내의 데이터를 보여준다.

-- sp_server0
-- 서버의 기본 정보를 보여준다.

-- sp_dboption0
-- 데이터베이스 설정 옵션을 보여준다.
-- 파라미넡가 null인 경우 전체 DB의 옵션을 보여준다.

-- sp_filegroup0
-- 해당 DB의 파일&파일 그룹 정보를 보여준다.
-- 파라미터가 'all'일시 전체 DB의 파일&파일 그룹 정보를 보여준다.

-- sp_lock0
-- 락 정보를 보여준다.
-- 첫번째 파라미터는 server process id to check for locks
-- 두번째 파라미터는 other process id to check for locks

-- sp_index0
-- 해당 DB의 인덱스를 모두 보여준다.

-- sp_filepageno0
-- BINARY의 first값에서 파일번호와 페이지번호를 DECIMAL로 출력한다.

-- sp_constraint0
-- 해당 DB 전체의 제약사항이나 특정 오브젝트의 제약사항을 출력한다.

-- sp_trigger0
-- 해당 DB의 모든 트리거나 특정 오브젝트의 트리거를 출력한다.

-- sp_converthex0
-- 해당 오브젝트의 인덱스 관련 파일과 페이지번호를 전체 출력한다.

-- sp_spaceused0
-- 서버의 전체 DB에 대한 사이즈를 출력한다.

-- sp_rowlength0
-- 해당 DB의 Table, View의 Row길이를 출력한다.

-- sp_freedisksize0
-- 물리적 드라이브 가용량을 표시한다.

-- sp_object0
-- 파라미터 없이 모든 오브젝트를 표시하고 특정 파라미터 기입시 상세 설명이 출력된다.
-- 'help' 파라미터시 파라미터 help manual이 출력된다.

-- sp_showcontig0
-- 인덱스 조각화 정보를 전체와 기준값을 기준으로 보여준다.
-- 처음 파라미터는 조각화 수치 기준으로 필터링.
-- 두번째 파라미터는 해당 테이블만 적용.

다운로드 :





출처 :
http://www.sqlworld.pe.kr/mboard/mboard/mboard.asp?board_id=comm_pds&group_name=board&idx_num=4&page=1&category=&search=&b_cat=0&order_c=idx_num&order_da=desc

Posted by TIGERJUNE
TAG MSSQL

트랙백 주소 http://tigerjune.tistory.com/trackback/137 관련글 쓰기

댓글을 달아 주세요

--테이블 및 컬럼에 설명을 넣어보자

--tbl_01 테이블 설명 추가
exec sp_addextendedproperty N'MS_Description', N'01테이블', N'user', N'dbo', N'table', N'tbl_01'
GO

--tbl_01 테이블의 f_col1컬럼 설명 추가
exec sp_addextendedproperty N'MS_Description', N'첫컬럼', N'user', N'dbo', N'table', N'tbl_01', N'column', N'f_col1'

--설명 업데이트시 사용
exec sp_updateextendedproperty


--테이블 정보 확인
--value 컬럼값이 위에서 입력한 설명임.
Select X1.TABLE_QUALIFIER,X1.TABLE_OWNER, X1.TABLE_NAME, X1.COLUMN_NAME
,X1.TYPE_NAME, X1.LENGTH, X1.IS_NULLABLE,X1.value ,X1.COLUMN_DEF
,IS_PK = case
when X3.colid is null then null
else 'PK'
end
,IS_FK = case
when X2.colnm is null then null
else 'FK'
end
FROM
(
SELECT T2.GID, T2.TABLE_QUALIFIER,T2.TABLE_OWNER, T2.TABLE_NAME, T2.COLUMN_NAME
, T2.TYPE_NAME, T2.LENGTH, T2.IS_NULLABLE,T1.value ,T2.COLUMN_DEF, T2.colid
FROM
(
SELECT
GID = O.ID
,TABLE_QUALIFIER = convert(sysname,DB_NAME())
,TABLE_OWNER = convert(sysname,USER_NAME(o.uid))
,TABLE_NAME = convert(sysname,o.name)
,COLUMN_NAME = convert(sysname,c.name)
,TYPE_NAME = convert (sysname,case
when t.xusertype > 255 then t.name
else d.TYPE_NAME collate database_default
end)
,LENGTH = convert(int,case
when type_name(d.ss_dtype) IN ('numeric','decimal') then
OdbcPrec(c.xtype,c.length,c.xprec)+2
else
isnull(d.length, c.length)
end)
,COLUMN_DEF = text
,IS_NULLABLE = convert(varchar(254),rtrim(substring('NO YES',(ColumnProperty (c.id, c.name, 'AllowsNull')*3)+1,3)))
,c.colid
FROM
sysobjects o,
master.dbo.spt_datatype_info d,
systypes t,
syscolumns c
LEFT OUTER JOIN syscomments m on
c.cdefault = m.id
AND m.colid = 1
WHERE
o.id = c.id
AND o.xtype = 'U'
AND t.xtype = d.ss_dtype
AND c.length = isnull(d.fixlen, c.length)
AND (d.ODBCVer is null or d.ODBCVer = 2)
AND (o.type not in ('P', 'FN', 'TF', 'IF') OR (o.type in ('TF', 'IF') and c.number = 0))
AND isnull(d.AUTO_INCREMENT,0) = isnull(ColumnProperty (c.id, c.name, 'IsIdentity'),0)
AND c.xusertype = t.xusertype AND O.NAME<>'dtproperties'
) T2
LEFT OUTER JOIN (
select * from sysproperties
where name = 'MS_Description' and smallid != 0
) T1
on
T2.gid = T1.id
and T2.colid = T1.smallid
) X1
Left Outer join
(
select parent_obj [tb_id] , sc.name[colnm] , sc.colid from sysobjects so
inner join sysreferences sf on
so.id = sf.constid
inner join syscolumns sc on
(
sf.fkeyid = sc.id
and (
sf.fkey1 = sc.colid or sf.fkey2 = sc.colid
or sf.fkey3 = sc.colid or sf.fkey4 = sc.colid
or sf.fkey5 = sc.colid or sf.fkey6 = sc.colid
or sf.fkey7 = sc.colid or sf.fkey8 = sc.colid
or sf.fkey9 = sc.colid or sf.fkey10 = sc.colid
or sf.fkey11 = sc.colid or sf.fkey12 = sc.colid
or sf.fkey13 = sc.colid or sf.fkey14 = sc.colid
or sf.fkey15 = sc.colid or sf.fkey16 = sc.colid
)
)
where so.xtype='F'
) X2 on
X1.GID = X2.tb_id
and X1.colid = X2.colid
Left outer join (
select o.id, c.colid from sysobjects o, syscolumns c, sysindexes i, sysindexkeys k
where
o.id = c.id
and i.id = k.id
and i.indid = k.indid
and k.id = c.id
and k.colid = c.colid
and i.name like 'PK%'
) X3 on
X1.GID = X3.id
and X1.colid = X3.colid
order by X1.TABLE_QUALIFIER,X1.TABLE_OWNER, X1.TABLE_NAME,X1.colid

--간단히 커멘트 조회시
select object_name(a.id) [table],
b.name [column],
a.value [comments]
from sysproperties a join syscolumns b
on a.id = b.id and a.smallid = b.colid
order by 1,b.colid

Posted by TIGERJUNE
TAG MSSQL

트랙백 주소 http://tigerjune.tistory.com/trackback/136 관련글 쓰기

댓글을 달아 주세요

인터넷을 이용하다 보면, 해당 웹페이지가 소스보기를 막아두지도 않았건만
이유없이 소스보기가 안될때가 있지.

이럴때 문제 해결법은 간단하다.

단지 인터넷임시파일을 지워주기만 하면된다.
그래도 안된다면 쿠키까지 삭제
Posted by TIGERJUNE
TAG 웹팁

트랙백 주소 http://tigerjune.tistory.com/trackback/135 관련글 쓰기

댓글을 달아 주세요

2006/10/11 14:48
유지 관리 문
DBCC DBREINDEX

DBCC DBREPAIR

DBCC INDEXDEFRAG

DBCC SHRINKDATABASE

DBCC SHRINKFILE

DBCC UPDATEUSAGE


기타 문
DBCC dllname (FREE)

DBCC HELP

DBCC PINTABLE

DBCC ROWLOCK

DBCC TRACEOFF

DBCC TRACEON

DBCC UNPINTABLE


상태 문
DBCC INPUTBUFFER

DBCC OPENTRAN

DBCC OUTPUTBUFFER

DBCC PROCCACHE

DBCC SHOWCONTIG

DBCC SHOW_STATISTICS

DBCC SQLPERF

DBCC TRACESTATUS

DBCC USEROPTIONS


유효성 검사 문
DBCC CHECKALLOC

DBCC CHECKCATALOG

DBCC CHECKCONSTRAINTS

DBCC CHECKDB

DBCC CHECKFILEGROUP

DBCC CHECKIDENT

DBCC CHECKTABLE

DBCC NEWALLOC

Posted by TIGERJUNE
TAG MSSQL

트랙백 주소 http://tigerjune.tistory.com/trackback/132 관련글 쓰기

댓글을 달아 주세요

이전버튼 1 2 3 4 5 ... 9 이전버튼