'분류 전체보기'에 해당되는 글 684건

  1. 2009.07.16 [wcf] 대용량 파일전송 WCF 구현
  2. 2009.07.13 [wcf] wcf에서 디버그 메세지를 자세히 볼려면?
  3. 2009.07.13 [silverlight] silverlight 3 정식버전 설명 정리한거
  4. 2009.07.03 WPF 세미나에서 발표했던거
  5. 2009.07.02 dslr 배우기 위한 사이트
  6. 2009.06.25 [util] 이쁜 마우스 포인트 1
  7. 2009.06.25 [db] sql express 2005에서 연결 및 삭제가 안될때
  8. 2009.06.25 [util] 파일 강제 삭제 프로그램(무설치)
  9. 2009.06.22 [wcf] "이름이 잘못된 문자로 시작합니다" 라는 오류가 나타날때
  10. 2009.06.22 [세미나] About SPY++
  11. 2009.06.22 [wcf] Call Back 정리 문서 (wsDualHttpBinding)
  12. 2009.06.22 [wcf] wcf 개념 사이트 정리
  13. 2009.06.22 [wcf] wcf와 wpf이용한 채팅 사이트 참조
  14. 2009.06.16 [세미나] C# nullable 타입의 동작원리 와 REF OUT 차이점
  15. 2009.06.15 [site] 영어 채팅 에 빠져보자~
  16. 2009.06.12 [util] mac expose on windows
  17. 2009.06.12 [util] 온라인 포토샵
  18. 2009.06.09 [broswer] 크롬에 테마를 입혀보자.
  19. 2009.06.09 [browser] 크롬 보다 빠른 고철과 니켈
  20. 2009.06.08 [util] 간편한 iso cd 굽기
  21. 2009.06.08 [mac] 부트캠프 2.1 다운로드 주소
  22. 2009.06.08 [wcf] Hello World를 위한 참고 사이트
  23. 2009.05.28 [db] about View
  24. 2009.05.28 시간동기화 site
  25. 2009.05.28 vmware에서 network 설정.
  26. 2009.05.21 [wcf] 기초 Hello world
  27. 2009.05.19 [사이트] 옷이쁜곳 쇼핑사이트
  28. 2009.05.18 구글 크롬 단축키
  29. 2009.05.18 [노래] 민경 - 우린 안어울려요
  30. 2009.05.14 [mysql] 1067 error
wcf2009. 7. 16. 18:35
계속 삽질을 했다....

왜 테스트 프로그램은 잘되는데 실제 프로젝트에 적용하면 안될까? 이런 고민을 했었다...

실제프로젝트 wcf서비스는 iis에서 돌고 있고

테스트는 콘솔 어플리케이션에서 서비스가 돌고 있었다...

이차이를 몰랐던것이다.

결국 이차이를 깨닫고 인터넷왜 찾아본결과

web.config에 

<system.web>
  <!--파일 업로드 크기-->
    <httpRuntime maxRequestLength="2090000" />
</system.web>

에서 iis에서 파일전송 제한을 늘려야했다


첨에는 wsHttpBinding 탓하고 별탓을 다했다.

결국 테스트 프로그램 서버는
   
      <!--wsHttpBinding 추가-->
      <wsHttpBinding>
        <binding name="FileTransferServicesBinding"          
          messageEncoding="Mtom"                 
          maxReceivedMessageSize="2067108864">
        </binding>
      </wsHttpBinding>
이렇게 구현하고

클라이언트는

indings>
      <wsHttpBinding>
        <binding name="Binding1" maxReceivedMessageSize="267108864" messageEncoding="Mtom" />
        <binding name="WSHttpBinding_IService" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
          maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Mtom"
          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"
            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"
              algorithmSuite="Default" establishSecurityContext="true" />
          </security>
        </binding>
      </wsHttpBinding>

이렇게 구현하였다.

maxReceivedMessageSize 설정과   messageEncoding="Mtom"  이 관건이다.

파일전송 참고 사이트 






Posted by 동동(이재동)
wcf2009. 7. 13. 14:22

이렇게 includeExceptionDetailInFaults 값을 True로 바꾼다. 기본은 false로 되어 있음

 <serviceBehaviors>
        <behavior name="NewBehaviorr">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>

만약 false면 <serviceDebug>어쩌구 저쩌구 나온다.


참조
Posted by 동동(이재동)
silverlight2009. 7. 13. 14:18
설치 방법, 기존버전과 다른점, 블랜드 3의 신기술 SketchFlow에 대해서 문서 정리

[#FILE|SilverLight_3.docx|pds/200907/13/37/|mid|0|0|pds15|0#]

'silverlight' 카테고리의 다른 글

[silverlight] 버튼 더블클릭막기  (0) 2012.08.27
심플한 MVVM 패턴 스타일 ~  (0) 2010.05.19
졸작때 쓴 파일들  (0) 2008.12.18
내 졸작 제출용 파일  (0) 2008.10.29
silverlight rc1 정식버전  (0) 2008.10.15
Posted by 동동(이재동)
세미나2009. 7. 3. 09:23
DataGrid CRUD (create read update delete) 

지금은 datagrid 가 WPF ToolKit을 설치를 하여야만 사용을 할수가 있는데

향후 WPF4에서는 기본적으로 포함된다고 합니다 

이외에도 캘린더라든지 Windows 7에서 새롭게 바뀐 Taskbar와 Office 2007에서 사용된 Ribbon UI를 기본으로 지원

합니다.

원래는 DB와 연동해서 보여드릴려고 했는데 DB를 구축할수 없는 환경이라

간단하게 XML과 DataSet을 이용하여 준비해보았습니다.

linq로는 더욱더 간단하게 구현할수 있습니다.

원리는 DataGrid와 DataTable이 바인딩되어서 DataGrid가 변경되고 변경된 내용을 DataSet에

적용하여 DB와 DataGrid가 동기화되도록 하였습니다.

향후 이 기술은 우리가 제일 많이 사용하는 DB작업에 사용될수있고

마치 Sql Management Studio같은, 엑셀같이 편리한 기능으로 많이 활용될수 있으리라 봅니다.

--------------------------------------------------------------------------------------------
부끄럽다 ㅋㅋ 
Posted by 동동(이재동)
DSLR2009. 7. 2. 19:27
Posted by 동동(이재동)
좋은 프로그램2009. 6. 25. 11:12

[#FILE|ComixCursorsBlack.zip|pds/200906/25/37/|mid|0|0|pds13|0#]

'좋은 프로그램' 카테고리의 다른 글

[util] easy file locker  (0) 2009.09.24
[util] 폴더 용량 체크 프로그램  (0) 2009.07.29
[util] 파일 강제 삭제 프로그램(무설치)  (0) 2009.06.25
[util] mac expose on windows  (0) 2009.06.12
[util] 온라인 포토샵  (0) 2009.06.12
Posted by 동동(이재동)
database2009. 6. 25. 09:52
머 물리적으로 오류있고 운영체제 오류 2,5,32 머 이런거 나오면

그냥 모든 서비스 다정지 시키고(iis포함)  sql 서비스도 정지시켜본다 그리고 sql에서 로그인할때

운영체제 로그인을 이용하면 권한 문제가 해결된다.

파일삭제안되는거는 unlocker를 이용하고 

그리고 관리자로 로그인 안되있으면 꼭 sql express 실행시킬때 오른쪽 버튼눌러서 관리자 권한으로 실행하여야한다.




Posted by 동동(이재동)
좋은 프로그램2009. 6. 25. 09:25
음... 탐색기에서 오른쪽버튼  누르면 된다 ㅋㅋ

[#FILE|unlocker_v.8.7.exe|pds/200906/25/37/|mid|0|0|pds15|0#]

'좋은 프로그램' 카테고리의 다른 글

[util] 폴더 용량 체크 프로그램  (0) 2009.07.29
[util] 이쁜 마우스 포인트  (1) 2009.06.25
[util] mac expose on windows  (0) 2009.06.12
[util] 온라인 포토샵  (0) 2009.06.12
[util] 간편한 iso cd 굽기  (0) 2009.06.08
Posted by 동동(이재동)
wcf2009. 6. 22. 11:04
ML 페이지를 표시할 수 없습니다. 
XSL 스타일시트를 사용하여 XML 입력을 볼 수 없습니다. 오류를 수정한 다음 새로고침 단추를 누르거나 나중에 다시 시도하십시오. 

이름이 잘못된 문자로 시작합니다. 'http://localhost/WcfServiceLibrary3/WcfServiceLibrary3.svc' 리소스를 처리하는 데 오류가 발생했습니다. 줄 1, 위치 2 

머 대충 이런 종류의 에러가 난다면

1. svc 안에서 syntex error 가 있지 않은지..

2. iis 웹사이트 속성에서 ASP.NET 설정탭에서 ASP.NET 버전이 2.0 으로 되어 있는지..

3. iis 웹사이트 홈디렉터리의 응용프로그램 구성정보에서 svc 파일이 aspnet_isapi.dll 로 맵핑이 잘 되어 있는지..


점검해볼필요가 있다


나같은경우는 2번이 1.* 버전으로 되어있어서 안되는거였다...



Posted by 동동(이재동)
세미나2009. 6. 22. 10:06
spy++

http://blog.daum.net/cw2park/16016712
http://www.yscom.co.kr/blog_post_22.aspx
http://tong.nate.com/lcy4001/37298375
http://newgifted.tistory.com/1169565758
http://www.winapi.co.kr/toollec/Spy/Spy-1.htm
http://elky.tistory.com/30

Virtual-Key Codes
http://kyrandia.tistory.com/tag/virtual%20key%20codes (16진수)
http://delphi.about.com/od/objectpascalide/l/blvkc.htm
http://api.farmanager.com/en/winapi/virtualkeycodes.html

SPY++ 발표 문서: [#FILE|SPY.docx|pds/200906/22/37/|mid|0|0|pds15|0#]

SPY++ 적용 소스: [#FILE|spytest3.zip|pds/200906/22/37/|mid|0|0|pds15|0#]
Posted by 동동(이재동)
wcf2009. 6. 22. 09:59

정리 문서 : [#FILE|callback.docx|pds/200906/22/37/|mid|0|0|pds12|0#]

소스  : [#FILE|WPFCallBackTest.zip|pds/200906/22/37/|mid|0|0|pds13|0#]

참조한 사이트 
http://www.ensimple.net/enSimple/show.aspx?cnum=407&b_id=study_netfr3&page=1

WCF에서의 인스턴스 관리 방안
http://acroama.isblog.net/blog_post_4.aspx
http://www.simpleisbest.net/articles/1731.aspx

Posted by 동동(이재동)
wcf2009. 6. 22. 09:48
Posted by 동동(이재동)
wcf2009. 6. 22. 09:46

'wcf' 카테고리의 다른 글

[wcf] Call Back 정리 문서 (wsDualHttpBinding)  (0) 2009.06.22
[wcf] wcf 개념 사이트 정리  (0) 2009.06.22
[wcf] Hello World를 위한 참고 사이트  (0) 2009.06.08
[wcf] 기초 Hello world  (0) 2009.05.21
wcf 기초다지기  (0) 2008.12.15
Posted by 동동(이재동)
세미나2009. 6. 16. 19:35
이번주부터 매주 목요일마다 회사내에서 자체 새미나를 한다. 여기에 그자료를 올리려한다.

이번주 주제는 C# nullable 타입의 동작원리 와 REF OUT 차이점 세미나 이다.

워드를 보면서 파워포인트로 발표했다.

참조 사이트 

C# nullable 타입의 동작원리
http://www.hoons.kr/Lecture/LectureView.aspx?BoardIdx=17182&kind=26

박싱 언박싱
<t>의 의미 지네릭 타입
http://kirox.tistory.com/125

http://funfly.tistory.com/entry/편집중-C-Generic-제너릭-뭐하는-놈이고
ref

http://funfly.tistory.com/entry/C-ref-키워드-이-놈-참

out 과 ref의 차이점
http://youngmin77.pe.kr/ttools/349

발표자료 
[#FILE|c_shorp_nullable_and_ref_out.docx|pds/200906/16/37/|mid|0|0|pds15|0#]

[#FILE|c_shorp_nullable_and_ref_out.pptx|pds/200906/16/37/|mid|0|0|pds15|0#]

'세미나' 카테고리의 다른 글

크로스 플랫폼 p2p 세미나  (0) 2013.08.08
조엘온 소프트웨어 스터디 문서  (0) 2013.08.08
CLR 스터디 했던거  (0) 2013.08.08
WPF 세미나에서 발표했던거  (0) 2009.07.03
[세미나] About SPY++  (0) 2009.06.22
Posted by 동동(이재동)
영어공부2009. 6. 15. 15:15
영어 채팅 에 빠져보자~

1:1로 랜덤 매칭시켜주는 사이트 같다.

'영어공부' 카테고리의 다른 글

영어 공부 사이트  (0) 2015.03.12
영어 만화 사이트  (0) 2009.04.01
단어 공부하기 좋은 사이트^^  (0) 2009.03.18
homework in innotive (february, 23,2009)  (0) 2009.02.23
영어원서로 공부하자 영어  (0) 2008.12.30
Posted by 동동(이재동)
좋은 프로그램2009. 6. 12. 17:50
윈도우에서 expose기능을 쓰자

xp에서는 이걸쓴다 하지만 회사에서는 switcher (비스타전용)을 쓴다 정말 편하다

switcher는 마우스 가운데 버튼을 all show window appliation으로 쓸수 있다.

머 속도도 최적화했으니 짱인듯

switcher download : http://insentient.net/

reflex vision 3.0 검색


reflex vision v3.0.2 winall cracked-crd
Posted by 동동(이재동)
좋은 프로그램2009. 6. 12. 11:38
http://www.pixlr.com/editor/

완전 유용하다 무겁게 설치할필요가없다 크롬에서 돌아가는걸보니 플래시로 만든듯


Posted by 동동(이재동)
브라우저2009. 6. 9. 12:32
여기다


하지만 크롬이 업데이트 되서 안되는듯하다...ㅡ.ㅡ 적용하면 빨간색으로 나온다.
Posted by 동동(이재동)
브라우저2009. 6. 9. 10:58
http://www.srware.net/en/index.php

니켈을 플러그인을 쓰게 만드는것

'브라우저' 카테고리의 다른 글

opera 무설치 버전 다운 받는곳  (0) 2010.01.28
[broswer] 크롬에 테마를 입혀보자.  (0) 2009.06.09
구글 크롬을 써보았다....  (0) 2008.09.07
오페라 9.10 다운로드 주소.. for Mac  (0) 2007.06.21
오페라 irc  (0) 2007.06.11
Posted by 동동(이재동)
좋은 프로그램2009. 6. 8. 18:38
http://www.ntfs.com/iso_burner_free.htm
Posted by 동동(이재동)
Mac2009. 6. 8. 12:42
Posted by 동동(이재동)
wcf2009. 6. 8. 11:12
database2009. 5. 28. 17:00

1. 뷰(View)란 무엇인가?

다음의 가정을 세우고 시작하겠습니다.

o 인사관리 시스템을 위한 [직원] 테이블이 있습니다. 
o [직원] 테이블에는 직원들의 급여 정보가 들어 있습니다. 
o 직원들의 급여정보는 Confidential 이기 때문에 인사팀 외에는 보아서는 안됩니다. 
o 총무팀에서 직원관리를 위하여 직원들의 신상정보를 요구해 왔습니다. 
o 하지만 총무팀에도 급여정보는 제공할 수가 없습니다. 

위 경우에 별도의 [직원2] 테이블을 만들어 총무팀에서 필요로하는 정보만 [직원] 테이블로부터 가져와 기록하여 제공해도 되지만 별도의 테이블을 만들지 않고 [직원] 테이블에서 총무팀에 제공할 컬럼만을 선택하여 가상의 테이블을 만들어 제공 할 수 있습니다. 이렇게 되면 총무팀에서는 만들어진 가상의 테이블을 사용하여 원하는 작업을 할 수 있고, 인사팀은 급여정보가 유출되는 문제를 막을 수 있게 됩니다. 이때 사용되는 가상의 테이블을 뷰(View)라고 합니다.

즉, 뷰(View)란 하나 또는 그 이상의 테이블로부터 생성된, 하지만 물리적으로 존재하지 않는 가상의 논리적인 테이블입니다. 하나의 테이블에서만 SELECT 되어진 결과를 가지고 뷰를 만들 수도 있고, 여러개의 테이블을 조인(JOIN)하여 SELECT한 결과를 가지고 뷰를 만들수 있습니다. 사용자(End User) 입장에서는 뷰를 일반적인 테이블과 똑같은 방법으로 사용하게 되므로, 이 뷰가 어떻게 만들어 졌는지 알지 못합니다.

지금까지의 내용으로 보아도 우리는 뷰의 장점을 다음과 같이 이야기 할 수 있습니다.

o 보안성 : 중요한 컬럼(급여정보 처럼)을 숨길 수 있어 보안을 유지 할 수 있습니다.
o 편의성 : 여러개의 테이블 사용을 위해 복잡한 조인(Join)이 사용되었다 하더라도 사용자는 이를 몰라도 됩니다. 
o 간결성 : 뷰를 사용하면 Application을 개발할 때 복잡한 쿼리문을 숨길 수 있어 소스가 간결해집니다.

이외에도 뷰를 사용하다보면 많은 장점들을 경험할 수 있습니다.

2. 뷰(View)를 만드는 방법(CREATE VIEW)

다음의 Employee 테이블의 구조와 Employee 테이블에서 몇몇 컬럼을 가져오는 쿼리문입니다.

CREATE TABLE Employee
(
emp_code char(3) NOT NULL,
emp_name char(10) NOT NULL,
emp_address varchar(70) NULL,
emp_age int,
emp_salary money
)

GO

SELECT emp_code, emp_name, emp_address
FROM Employee

다음과 같이 위 SELECT 퀴리문에 CREATE VIEW를 추가함으로써 뷰(View)를 만들 수 있습니다.

CREATE VIEW vw_Employee
AS
SELECT emp_code, emp_name, emp_address
FROM Employee

이제 vw_Employee 뷰가 만들어 졌으므로 사용자는 이 뷰를 일반 테이블과 마찬가지 방법으로 사용 할 수 있습니다.

SELECT * FROM vw_Employee

o 수행 결과는 맨 처음의 SELECT 문과 같습니다.
o 이상태에서 실제 테이블 Employee에 5개의 Row가 추가 되었다면 vw_Employee 역시 똑같이 5개의 Row를 갖고 있게 됩니다. 단지 컬럼중에 뷰를 만들때 선언한 컬럼만을 가지고 있다는 차이뿐입니다.

3. 뷰(View)의 특징 몇가지

1) 테이블에서 컬럼이 삭제되면?

다음에 포함된 두 SELECT 문은 결과가 다릅니다.

ALTER TABLE Employee
DROP COLUMN emp_age
GO

SELECT * FROM vw_Employee -- 1)

ALTER TABLE Employee
DROP COLUMN emp_address
GO

SELECT * FROM vw_Employee -- 2)

o 처음에 테이블에서 제거된 컬럼 emp_age는 vw_Employee에 포함되지 않는 컬럼이므로 1)번 SELECT문은 정상적으로 수행됩니다.
o 두번째 제거된 컬럼 emp_address는 vw_Employee 선언시 포함된 컬럼이므로 2)번 SELECT문은 다음의 오류를 발생시킵니다.

서버: 메시지 207, 수준 16, 상태 3, 프로시저 vw_employee, 줄 3
열 이름 'emp_address'이(가) 잘못되었습니다.
서버: 메시지 4413, 수준 16, 상태 1, 줄 1
바인딩 오류로 인해 뷰 또는 함수 'vw_Employee'을(를) 사용할 수 없습니다.

2) 테이블에 컬럼이 추가되면?

다음과 같이 MyTable 이 구성되어 있고 이 테이블의 모든 내용을 SELECT 해오는 vw_MyTable을 만들었습니다.

CREATE TABLE MyTable
(
col1 CHAR(2),
col2 CHAR(3),
col3 CHAR(1)
)
GO

CREATE VIEW vw_MyTable
AS
SELECT * FROM MyTable

SELECT * FROM MyTable --1)
SELECT * FROM vw_MyTable --2)

o 두 SELECT문의 결과는 의심할 여지없이 동일한 결과를 갖습니다.

이 상태에서 다음과 같이 MyTable에 컬럼을 추가 했습니다.

ALTER TABLE MyTable
ADD col4 CHAR(2)
GO

SELECT * FROM MyTable --1)
SELECT * FROM vw_MyTable --2)

o 1)번 SELECT문은 당연히 추가된 컬럼 col4를 포함한 결과를 보여줍니다.
o 뷰를 선언할 때 모든 컬럼을 포함하라고 SELECT * 했으므로 2)번 SELECT문도 추가된 행이 보일것 같습니다. 하지만!
o 2)번의 결과에는 추가된 컬럼 col4 가 포함되지 않습니다. 
o 뷰를 만들때 SELECT * 이라고 했어도 그 당시에 존재하는 컬럼의 정보가 시스템 테이블(syscolumns)에 기록되어 이를 이용해 뷰의 결과가 보여지므로 이후에 추가된 컬럼은 뷰에 포함되지 않게 됩니다.
o 이 사항을 잘 몰라 뷰를 사용할 때 오류를 범하는 경우가 있습니다.

3) 뷰를 사용하면 속도가 빨라진다?

물론 SQL Server 2000에서 제공하는 새로운 기능인 뷰에 인덱스를 만들어주면(많은 제약이 있지만) 일반적인 쿼리문 수행보다 속도가 빨라집니다. 하지만 일반적으로 뷰는 속도 향상보다는 앞 강좌에서 이야기 되었던 장점을 위해 사용됩니다. 사용자가 뷰로부터 SELECT하게 되면 그 순간 SQL Server는 뷰른 만들때 선언한 쿼리문을 읽어와(syscomments 에서) 그 쿼리문을 일반 쿼리문과 같은 형식으로 수행하므로 속도에는 차이가 없게됩니다.

4. 뷰(View)를 통한 데이터 업데이트

물론 View는 데이터를 업데이트하기 위한 목적보다는 편리하게 검색하기 위한 목적으로 사용됩니다. 하지만 분명 View를 통하여 우리는 실제 테이블의 데이터를 수정할 수 있습니다(View가 수정되는 것이 아니고 실제 데이터가 변경되어 View에는 변경된 내용이 보이는것입니다).

View를 통해서 테이블의 데이터를 변경하는 것은 다음과 같은 몇가지 제약이 있습니다.

o 동시에 하나의 테이블(View를 구성하는 실제 테이블)만을 변경 할 수 있습니다.
o 계산된 컬럼은 변경할 수 없습니다.
o View를 만들때 WHERE절을 이용하여 선택에 제한을 두었다면 이 제한을 벗어나는 값으로는 변경을 할 수 없습니다.

다음의 예제를 보면서 몇가지 경우를 설명드리도록 하겠습니다.

CREATE TABLE Employee
(
emp_code char(05),
emp_name char(10),
dept_code char(05)
)
GO

CREATE TABLE Department
(
dept_code char(05),
dept_name char(10)
)
GO

CREATE VIEW vw_Employee1 --1)
AS
SELECT emp_code, emp_name 
FROM Employee
GO

CREATE VIEW vw_Employee2 --2)
AS
SELECT e.emp_code, e.emp_name, e.dept_code, d.dept_name 
FROM Employee e 
JOIN Department d ON e.dept_code = d.dept_code
GO

o 1)에서는 Employee 테이블만을 참조하는 뷰를 만들었습니다.
o 2)에서는 Employee 테이블과 Department 테이블을 참조하는(조인으로 연결된) 뷰를 만들었습니다.

[예제1]

UPDATE vw_Employee1 SET emp_name = '이장래' -- 1)
WHERE emp_code = 'EM103'
GO

UPDATE vw_Employee2 SET emp_name = '이장래' -- 2)
WHERE emp_code = 'EM103'
GO

UPDATE vw_Employee2 SET dept_name = '개발팀' --3)
WHERE dept_code = 'DT001'
GO

o 위 모든 경우는 뷰를 통하여 테이블의 데이터를 변경할 수 있는 예입니다. 
o 변경의 대상이 되는 실제 테이블이 1), 2)의 경우는 Employee, 3)의 경우는 Department 하나뿐이기 때문입니다.

[예제2]

UPDATE vw_Employee2 SET emp_name = '한국인', dept_name = '인사팀' 
WHERE emp_code = 'EM103'
GO

o emp_name을 변경하기 위해서는 Employee테이블이, dept_name을 변경하기 위해서는 Department 테이블이 실제 변경되어야할 테이블입니다.
o 동시에 두 테이블이 변경되어야 하므로 위 예제는 오류를 발생시킵니다.

5. 뷰(View)에 인덱스 만들기

제가 처음 SQL Server 2000을 접하고 놀란 이유중의 하나가 뷰에 인덱스를 걸수 있다는 사실입니다. 그전에는 뷰의 편리함을 알았지만 이 뷰라는 것이 성능에는 별 효과가 없어서 항상 불만을 품고 있었습니다. SQL Server 2000은 과감히 이러한 불만을 없애주었습니다. 물론 멏가지 제약이 있기는 하지만 이제 우리는 뷰에 인덱스를 만들어 성능 향상을 볼 수 있습니다.

다음의 예제를 보면서 몇가지 제약과 함께 부에 인덱스를 만드는 방법을 알아보도록 하겠습니다.

1) SCHEMABINDING 옵션

뷰에 인덱스를 만들 수 있다는 사실에 너무 기뻐 다음과 같이 앞에서 다루었던 뷰에 인덱스를 걸어보고자 했습니다.

CREATE VIEW vw_Employee2
AS
SELECT e.emp_code, e.emp_name, e.dept_code, d.dept_name 
FROM Employee e 
JOIN Department d ON e.dept_code = d.dept_code
GO

CREATE INDEX idx1 ON vw_Employee2(emp_code)

하지만 우리는 다음과 같은 오류를 보게됩니다.

서버: 메시지 1939, 수준 16, 상태 1, 줄 1
'vw_Employee2' 뷰는 스키마 바운드 뷰가 아니므로 이 뷰에 인덱스을(를) 만들 수 없습니다.

SCHEMABOUND 뷰가 아니기에 인덱스를 만들수 없다고 합니다. 즉 인덱스를 만들수 있는 뷰는 다음과 같이 SCHEMABOUND된 뷰에 한해서입니다. 테이블명 앞에 소유자를 붙여야함도 확인하시기 바랍니다.

CREATE VIEW vw_Employee3
WITH SCHEMABINDING -- 여기를 주목
AS
SELECT e.emp_code, e.emp_name, e.dept_code, d.dept_name 
FROM dbo.Employee e 
JOIN dbo.Department d ON e.dept_code = d.dept_code
GO

2) CLUSTERED UNIQUE 인덱스 필요

하지만 역시 새로만든 vw_Employee3 뷰에 인덱스를 만들려고 하면 다른 오류를 보게됩니다. SCHEMABOUND된 뷰임에도 불구하고.

서버: 메시지 1940, 수준 16, 상태 1, 줄 1
'vw_Employee3' 뷰에 인덱스을(를) 만들 수 없습니다. 클러스터된 고유 인덱스가 없습니다.

클러스터드된 인덱스가 없어서 안된다고 합니다. 즉 뷰에 인덱스를 만들때는 다음과 같이 제일 먼저 클러스터드된 고유 인덱스를 만들어야 합니다.

CREATE UNIQUE CLUSTERED INDEX idx1 ON vw_Employee3(emp_code)

이제 원한다면 다음과 같은 다른 인덱스도 만들 수 있습니다.

CREATE INDEX idx2 ON vw_Employee3(dept_code)

3) 이외에도

실제적인 테이블을 참조하는 뷰에만 인덱스를 만들수 있습니다. 뷰를 참조하는 뷰에는 인덱스를 만들 수 없습니다.


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


Posted by 동동(이재동)
기타2009. 5. 28. 15:04
가끔 time.windows.com 시간 동기화가 제대로 안될때가 있다 이때는

time.kriss.re.kr

를 이용하자..

'기타' 카테고리의 다른 글

e-book 다운로드 사이트  (0) 2009.08.04
dvi 3m 싱글케이블 파는곳 싸게  (0) 2009.07.20
vmware에서 network 설정.  (0) 2009.05.28
[사이트] 옷이쁜곳 쇼핑사이트  (0) 2009.05.19
구글 크롬 단축키  (0) 2009.05.18
Posted by 동동(이재동)
기타2009. 5. 28. 11:51
머 여러가지 방법이 있겠지만 가장 확실한 방법은

edit-visual network setting 을 클릭하고 


VMnet2에 보면 그냥 강제로 랜카드를 잡은게 보인다.



이렇게 설정한후 edit virtual machine setting을 클릭후  eithernet 에 VMnet2로 설정한다...

이제 끝이다...

이제 실제 운영체제로 들어가서 ip를 잡으면 잘될것이다.


'기타' 카테고리의 다른 글

dvi 3m 싱글케이블 파는곳 싸게  (0) 2009.07.20
시간동기화 site  (0) 2009.05.28
[사이트] 옷이쁜곳 쇼핑사이트  (0) 2009.05.19
구글 크롬 단축키  (0) 2009.05.18
[mysql] 1067 error  (0) 2009.05.14
Posted by 동동(이재동)
wcf2009. 5. 21. 16:36
환경
vs 2008

1. WCF Service Library로 프로젝트를 만든다.
2. Service1.cs and Service1.cs files 파일을 지우고 app.config를 이렇게 설정한다.
 1: <?xml version="1.0" encoding="utf-8" ?>
   2: <configuration>
   3:   <system.web>
   4:     <compilation debug="true" />
   5:   </system.web>
   6:   <system.serviceModel>
   7:     <services>
   8:     </services>
   9:     <behaviors>
  10:       <serviceBehaviors>
  11:       </serviceBehaviors>
  12:     </behaviors>
  13:   </system.serviceModel>
  14: </configuration>

3. add-new item 해서 WCF Service를 등록한다.

4.   IHelloWorld.cs에 이렇게 쓴다.
 1: [ServiceContract]
   2: public interface IHelloWorld
   3: {
   4:     [OperationContract]
   5:     string SayHello(string inputName);
   6: }

5. HelloWorld.cs class에는
 1: public class HelloWorld : IHelloWorld
   2: {
   3:     #region IHelloWorld Members
   4:     public string SayHello(string inputName)
   5:     {
   6:         return "Hello " + inputName;
   7:     }
   8:     #endregion
   9: }


실행하면 서비스가 시작된다.

소스 : [#FILE|WcfServiceLibrary1.zip|pds/200905/21/37/|mid|0|0|pds10|0#]


한글 잘설명해 놓은곳  : http://myiris12.textcube.com/tag/WCF
Posted by 동동(이재동)
기타2009. 5. 19. 20:10

'기타' 카테고리의 다른 글

시간동기화 site  (0) 2009.05.28
vmware에서 network 설정.  (0) 2009.05.28
구글 크롬 단축키  (0) 2009.05.18
[mysql] 1067 error  (0) 2009.05.14
회사주소  (0) 2009.04.01
Posted by 동동(이재동)
기타2009. 5. 18. 14:40

Ctrl+N새 창을 엽니다.
Ctrl 키를 누른 상태에서 링크 클릭새 탭에서 링크를 엽니다.
Shift 키를 누른 상태에서 링크 클릭새 창에서 링크를 엽니다.
Alt+F4현재 창을 닫습니다.
Ctrl+T새 탭을 엽니다.
Ctrl+Shift+T닫았던 마지막 탭을 다시 엽니다. Google 크롬은 닫았던 탭을 10개까지 기억합니다.
링크를 탭으로 드래그해당 탭에서 링크를 엽니다.
링크를 탭 사이로 드래그탭 표시줄상의 특정 위치에서 새 탭으로 링크를 엽니다.
Ctrl+1~Ctrl+8지정된 숫자에 해당하는 위치의 탭으로 전환합니다. 각 숫자는 탭 표시줄상의 위치를 표시합니다.
Ctrl+9마지막 탭으로 전환합니다.
Ctrl+Tab다음 탭으로 전환합니다.
Ctrl+Shift+Tab이전 탭으로 전환합니다.
Ctrl+W 또는 Ctrl+F4현재 탭이나 팝업을 닫습니다.

검색주소창 바로가기

검색주소창에서 다음 작업 중 하나를 수행합니다.
검색어 입력기본 검색엔진을 사용하여 검색을 수행합니다.
'www.'와 '.com' 사이의 웹주소 일부를 입력하고 Ctrl+Enter 키 누르기검색주소창에 입력된 검색어에 www. 및 .com을 추가하여 웹 주소를 완성하고 해당 웹페이지를 엽니다.
검색엔진 키워드를 입력하거나Tab 키를 누른 후 검색어 입력키워드나 URL에 연결된 검색엔진을 사용하여 검색을 수행합니다. 사용하려는 검색엔진을 Google 크롬에서 인식하면 Tab 키를 누르라는 메시지가 표시됩니다.
F6 또는 Ctrl+L웹 주소 영역에 있는 콘텐츠를 강조표시합니다.
웹 주소를 입력한 후 Alt+Enter 키 누르기새 탭에서 입력된 주소의 웹페이지를 엽니다.

Google 크롬의 각 기능별 바로가기

Ctrl+B북마크바 설정/해제
Ctrl+H방문한 페이지 보기
Ctrl+J다운로드 페이지 보기
Shift+Esc작업 관리자 보기
Shift+Alt+TGoogle 크롬 툴바로 키보드의 포커스를 이동합니다. 키보드의 오른쪽 및 왼쪽 화살표 키를 사용하면 툴바의 여러 기능을 탐색해 볼 수 있습니다.

웹페이지 바로가기

Ctrl+P현재 페이지 인쇄
F5현재 페이지 새로고침
Ctrl+F5 또는 Shift+F5저장된 콘텐츠를 무시하고 현재 페이지를 새로 고칩니다.
Alt 키를 누른 상태에서 링크 클릭링크 다운로드
Ctrl+F페이지 내 검색 상자를 엽니다.
Ctrl+G 또는 F3페이지 내 검색 상자에 입력된 단어와 일치하는 다음 문장을 찾습니다.
Ctrl+Shift+G 또는 Shift+F3페이지 내 검색 상자에 입력된 단어와 일치하는 이전 문장을 찾습니다.
Ctrl+U소스 보기
링크를 북마크바로 드래그링크 북마크
Ctrl+D현재 웹페이지를 북마크합니다.
Ctrl++텍스트 확대
Ctrl+-텍스트 축소
Ctrl+0기본 텍스트 크기로 되돌리기

텍스트 바로가기

콘텐츠를 선택한 다음 Ctrl+C 키 누르기콘텐츠를 클립보드로 복사합니다.
텍스트 입력란으로 커서를 옮긴 다음 Ctrl+V 키 누르기클립보드의 콘텐츠를 붙여넣습니다.
텍스트 입력란으로 커서를 옮긴 다음 Ctrl+Shift+V 키 누르기클립보드의 콘텐츠를 일반 텍스트로 붙여넣습니다.
텍스트 입력란의 콘텐츠를 선택한 다음 Ctrl+X 키 누르기콘텐츠를 삭제합니다.

'기타' 카테고리의 다른 글

vmware에서 network 설정.  (0) 2009.05.28
[사이트] 옷이쁜곳 쇼핑사이트  (0) 2009.05.19
[mysql] 1067 error  (0) 2009.05.14
회사주소  (0) 2009.04.01
지애씨가 추천한 초콜렛  (0) 2009.03.09
Posted by 동동(이재동)
노래2009. 5. 18. 14:09
늦었나요
다시 돌릴 순 없나요
나도 노력했었지만
아무래도 안 어울리는 우리
다시 생각해요
 
정말 내 생각도 몰라주고
늘 자기 고집만 내세우는 그대
나도 많이 지쳐가네요 이젠 맘대로 하고싶어

처음엔 좋았었죠 우리 미래를 믿었고
모두 우릴 보면 부러운 표정에 마냥 좋았지만

우린 안 어울려요 참 많이 다른가봐요
좋아하는 음식도 다르고
그래서 시도 때도 없이 우린 매일 다투나봐요
 
우린 안 어울려요 생각 조차도 다르죠
살아가는 방식도 다르고 그래서
서로에게 옳지 않는 말도 참 많이 하나봐요

처음엔 좋았었죠 우리 미래를 믿었고
모두 우릴 보면 부러운 표정에 많은

우리 안 어울려요 참 많이 다른가봐요
좋아하는 음식도 다르고 그래서
시도 때도 없이 우린 매일 다투나봐요

우린 안 어울려요 생각 조차도 다르죠
살아가는 방식도 다르고 그래서
서로에게 옳지 않는 말도 참 많이 하나봐요

그런데 왜 오랫동안 같이 잘 지내고 있는지
묻는다면 도대체 왜 이런지 우리도 대답할 수 없어요

우린 안 어울려요 참많이 다른가봐요
좋아하는 영화도 다르고 그래서
남들보다 많은 영활 보는 재미도 있죠

우린 안어울려요 참 많이 다른건가요
살아가는 방식도 다르고 그래서
나와다른 좋은 모습 서로 발견하기도 하죠

'노래' 카테고리의 다른 글

[가사] 커플 - 김용준  (0) 2009.08.05
음악 무료듣기 사이트  (0) 2009.07.31
내가 좋아하는 노래들 모음  (0) 2009.03.02
Alicia Keys_If I Ain't Got You  (0) 2007.08.24
Mocca_Happy!  (0) 2007.08.24
Posted by 동동(이재동)
기타2009. 5. 14. 16:47
 
우선 참고로, 내가 작업했던 환경은..

OS : Windows XP sp2
DB : mysql-5.1.34-win32

이다.

개발용으로 PC에 설치하고 열라 작업하는 도중.. PC를 재부팅했는데,
갑자기 mysql이 구동되지 않았다.
서비스에서 mysql을 시작해보니, 1067 에러를 발생시키며 구동되지 않았다.

1067로는 에러 원인을 찾기가 거의 불가능하다.
1067은, 구동되지 않았을 경우에, 발생시키는 에러인 듯 하고, 실제 원인을 얘기해주진 않는다.

인터넷을 1067로 뒤져보니, 다양한 원인과 해결책을 내놓고 있었지만,
결국, 나의 경우에는 해당하지 않았다..

보통 크게, my.ini 문제, 설치 경로, characterset, 백신 등을 얘기하는데..
나같은 경우에는 mysql을 설정하다가 뻑난게 아니라.. 그냥 재부팅을 했을 뿐이었기 때문이다..
(물론, 재부팅하기 전에.. table 생성하고, sql 몇번 날린 죄 밖에 없다.)

1067 에러가 발생하면, 제거 후, 설치한다 해도, 같은 문제가 발생한다... 
인스턴스 이름, 버전, 위치 등 다 바꿔봐도 동일했다.. 나의 경우엔.. ㅠㅠ
그렇다면, 뭔진 몰라도 분명 어딘가 설정이 남아있다는 얘긴데. 제발 레지스트리만 아니길 바라며.. 뒤져보기 시작했다..

그래서 결국.. 해결...

방법을 설명하면,
1. 서비스 중지 (뭐. 안떠 있겠지만.)
2. 프로그램 추가 제거에서 mysql 제거.
3. 서비스에서 서비스 삭제 확인. ( 관리도구 - 서비스 )
4. mysql 설치 디렉토리 삭제. (기본은 C:\Program Files...)
5. C:\Documents and Settings\All Users\Application Data\MySQL 폴더 제거.
6. C:\Documents and Settings 아래의 사용하는 계정이 있다면 모두 따라가서 제거.
7. PC 재부팅.
8. 재설치.
그럼. 이제 정상 구동된다.. 단.. Data가 있다면, 백업해두길...
이렇게 해서.. 성공하는 바람에.. 원인은 파악하질 못했다. ㅠㅠ




여기서 덧붙이자면 이렇게 해서 완벽하게 삭제를 했다...

그다음에 머 config를 삭제하거나 수정할려면 일일이 모두 삭제하지 말고 config만 설정해주면 되는것이다

시작-프로그램에 보면 sql config manager인가 마법사인가 있다 이걸 이용하자

'기타' 카테고리의 다른 글

[사이트] 옷이쁜곳 쇼핑사이트  (0) 2009.05.19
구글 크롬 단축키  (0) 2009.05.18
회사주소  (0) 2009.04.01
지애씨가 추천한 초콜렛  (0) 2009.03.09
혼차살때 좋은정보  (0) 2009.01.11
Posted by 동동(이재동)