Posted by zerople | Posted in Database | Posted on 24-06-2009
0
SQL 2008 설치시 Visual Studio 2008 Sp1은 사전 요구사항입니다. sp1없이 설치할 수 있는 트릭이 있기에 소개해봅니다. 물론, Visual Studio 2008은 있어야 합니다. sp1을 무시한채 설치하는 방법이죠.


두 가지의 방법이 있으니 사용하시기 편한 방법으로 사용해 보세요.
1. Command의 옵션을 통해 규칙을 무시할 수 있습니다.
Setup /ACTION=install /SkipRules=VSShellInstalledRule RebootRequiredCheck
2. 레지스트리를 수정해 Visual Studio 2008이 설치되어 있지 않은 것처럼 속이는 방법입니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0
“9.0″을 임의로 수정해 놓으면 됩니다.
이러한 방법으로 SQL 2008 사용시 SQL 2008의 모든 기능을 자유롭게 사용할 수 있을지는 모르겠습니다. 아직까지 개발환경에서 위 방법으로 여러개의 인스턴스를 만들어 사용하고 있습니다만 딱히 문제가 될 부분은 없는 듯 합니다.
관련 링크.
http://blogs.msdn.com/psssql/archive/2008/08/11/sql-server-2008-visual-studio-2008-sp1-and-net-framework-3-5-sp1-explained.aspx
http://hyok.kr/blog/dev/44?category=12
Posted by zerople | Posted in ASP.NET & C#, 프로그래밍 | Posted on 24-06-2009
0
Posted by zerople | Posted in Database | Posted on 15-04-2009
0
SQL Management Studio 2008을 사용하고 있습니다.

Management Studio 2008
테이블의 변경이 발생했을 경우 SMS2008의 테이블 디자이너에서는 변경내역이 저장되지 않는 문제가 있었습니다. 아래와 같은 경고 메시지를 보여주면서요.
Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.
또한 사용자에게 ‘Cancel’과 ‘Save Text File’이라는 버튼만 보여준 채 ‘Cancel’을 클릭하면 사용자가 변경을 취소했다는 메시지를 보여줍니다. 취소하고 싶어서, 취소를 누른건 아니잖아요…?

Management Studio 2008
이는
SQL Server 2008 Books Online (March 2009)에서 확인할 수 있었는데요.
- 테이블의 중간에 새로운 컬럼이 추가되는 경우.
- 컬럼을 삭제하는 경우.
- 컬럼의 nullability를 변경하는 경우.
- 컬럼의 순서를 변경하는 경우.
- 컬럼의 타입을 변경하는 경우.
위 다섯 가지에 해당 되는 테이블의 변경사항은 SMS2008의 테이블 디자이너에서는 변경할 수 없었습니다. SQL서버는 테이블이 삭제되었고, 이미 만들어진 테이블을 삭제하고, 다시 생성해야 하기 때문이라고 합니다. 2008에서는 테이블의 변경에 대해 경각심을 주겠다는 의도로 옵션을 만들어두어 기본값은 재생성을 할 수 없도록 하지 않았나 생각해 봅니다. 물론 ALTER [TABLE]과 같은 DDL을 사용한다면 아무런 제약이 없습니다.
이러한 문제를 해결하기 위해서 다음과 같이 조취합니다.
메뉴에서 도구 -> 옵션 -> 디자이너를 선택합니다. ‘Prevent saving changes that require table re-creation’의 체크를 해제하면 SMS2008에서 테이블 디자인의 변경이 가능해집니다.

Tools -> Options -> Designers

'Prevent saving changes that require table re-creation'의 체크를 해제합니다.
Posted by zerople | Posted in ASP.NET & C#, 프로그래밍 | Posted on 13-12-2008
0
원칙대로라면 쿼리를 통해 Top절을 구현해야 함이 마땅하지만 비즈니스를 구현하다보면 종종 이미 가져온 DataTable에서 Top절을 구현하는 것이 현명할 때가 있다.
실제로 DataTable에서 Distinct절도 구현해야 할 경우가 종종 있으니 말이다. 지금은 LINQ를 이용하면 좀 더 쉽겠지만 현재 진행중인 프로젝트에서 LINQ는 개발표준에 없으므로 LINQ절을 사용할 수 없다.
따라서, 아래와 같은 코드로 DataTable의 Select Top절을 구현해 보았다.
1: public DataTable GetSelectTop(DataTable sourceTable, int topCount)
2: {
3: try
4: {
5: DataView dvTable = sourceTable.DefaultView;
6: dvTable.Sort = "Total_Size DESC";
7:
8: DataTable destTable = sourceTable.Clone();
9: topCount = dvTable.Count > topCount ? dvTable.Count : topCount;
10:
11: for (int i = 0; i < topCount; i++)
12: {
13: DataRow row = dvTable[i].Row;
14: destTable.ImportRow(dv);
15: }
16: return destTable;
17: }
18:
19: catch (Exception e)
20: {
21: throw e;
22: }
23: }
Posted by zerople | Posted in ASP.NET & C#, 프로그래밍 | Posted on 06-08-2008
0
Stored Procedure의 명명규칙은 다음과 같이 정의하였다.
[업무명 약어3Byte]_[구분]_[기능명]
업무명 약어
회원과 관련한 업무라면 “MEM”, 보증에 관련한 업무라면 “GRT”등으로 사용한다.
구분
프로시저 행동 1Byte + 프로시저 반환 형태 1Byte의 2Byte 영문으로 명명한다.
프로시저 행동 – SELECT, INSERT, UPDATE, DELETE 중 첫 글자 1Byte.
프로시저 반환형태 – NonQuery, DataSet, Reader 중 첫 글자 1Byte.
| |
ExecuteNonQuery
|
ExecuteReader
|
ExecuteDataSet
|
| Select |
SN
|
SR
|
SD
|
| Update |
UN
|
UR
|
UD
|
| Insert |
IN
|
IR
|
ID
|
| Delete |
DN
|
DR
|
DD
|
형광색으로 표시한 UN, IN, DN, SR, SD가 실제 [구분]에 들어가는 명명이다.
이 글은 계속 작성중입니다.