joajun
2010년 4월 30일 금요일
도쿄 이사하다...
2009년 9월 16일 수요일
RDS-remote data service 설정 및 오류확인
RDS는 remote data service 의 약자로 말그대로 remote에서 data 정보를 가져올수 있다.
IE에서 RDS관련 컴포넌트(IE에서 기본제공)를 생성하여 remote에 등록되어 있는 컴포넌트를 호출하여
데이터를 받아오는 기술이다.
지금은 AJAX가 있지만 2000년대 에는 정말 획기적인(??) 방법이었다.
script를 이용하여 외부 데이터를 가져올수 있으니...
워낙에 잘 나가던 서비스라 책도 있었다.
Professional ADO 2.5 RDS Programming with ASP 3.0
아마 고향집에 가면 어디가에 있을듯..ㅋ
2000년 중반에 MS에서의 공식적인 지원은 종료되었던 걸로 기억한다.
주로 개발했던 내용이 내부 인트라넷이어서 다행이었지만 지금 생각하면 보안이슈가 많을 것 같다 .휴
1. 관련컴포넌트 작성
컴포넌트 제작후 구성요소 서비스에 올린다.
2. 컴포넌트 등록
레지스트리
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\W3SVC\Parameters\ADCLaunch 밑에 해당 구성요소의 이름을 키로 만들어준다.
이때 일반적인 ADO로 사용시는 레지스트리에 등록하지 않아도 된다.
Set oo = ADS.CreateObject("test.clsQueryMgr", ServerNm) 이런식으로 원격지에서
DLL 호출에 사용되는 구성요소를 등록한다.
즉 test.clsQueryMgr 를 등록하여 주면 된다.
문제해결
1. 가상 디렉터리 - MSADC 구성
각 웹 사이트의 루트에 MSADC라는 가상 디렉터리가 있어야 합니다.
이 가상 디렉터리는 \Program Files\Common Files\System\MSADC 폴더를 가리켜야 합니다.
Internet Information Server(IIS) 4.0과 5.0에서 이 폴더의
사용 권한을 실행(스크립트 포함)으로 설정해야 합니다.
MSADC 가상 디렉터리는 RDS를 사용하는 웹 사이트의 하위 디렉터리라야 합니다.
2. NTFS 및 IIS 사용 권한
InetInfo.exe 프로세스는 수행하는 각 작업에 대해 로컬 시스템의 사용자를 가장(Impersonate)합니다.
여기에는 RDS 작업이 포함됩니다. RDS는 MSADC 폴더에 있는 구성 요소를 이용하며
추가로 디스크에서 파일을 액세스할 수도 있습니다.
RDS가 디스크에서 추가 파일을 액세스하는 경우,
InetInfo.exe 프로세스가 가장(Impersonate)하는 사용자에 대해
이들 파일의 NTFS 사용 권한으로 최소한 읽기 및 실행 권한을 부여해야 합니다.
기본적으로 웹 사이트는 IUSR_<컴퓨터_이름>이라는
인터넷 게스트 사용자를 가장(Impersonate)하도록 구성됩니다.
그러나, 웹 사이트 또는 응용 프로그램에 대한 등록 정보의 디렉터리 보안 탭을 사용하여
다른 사용자를 가장(Impersonate)하도록 IIS를 구성할 수도 있습니다.
또한, Windows NT 인증을 사용하도록 웹 사이트를 구성할 수도 있습니다.
이렇게 구성하면 프로세스는 사이트에서 인증하는 각 Windows NT 사용자의 자격 증명을 사용합니다.
InetInfo.exe 프로세스가 가장(Impersonate)하는 사용자에 대해 MSADC 폴더의 모든 파일뿐 아니라
사용되는 모든 사용자 지정 구성 요소에도 읽기 및 실행 권한을 부여해야 합니다.
3. IP 제외
MSADC 가상 디렉터리를 액세스하지 못하도록 사용자의 IP 주소를 제외시키면
그 사용자의 브라우저에서 사이트에 대해 RDS가 작동하지 않습니다.
사이트를 사용하는 데 방해가 되지 않도록 MSADC 폴더에 대해 IP 제외가 없어야 합니다.
MSADC 폴더에 대한 등록 정보의 디렉터리 보안 탭에서 이 설정을 구성할 수 있습니다.
IP 주소 및 도메인 이름 제한에서 편집을 누릅니다.
사이트의 IP 제한에 대한 구성을 보여주는 대화 상자가 나타납니다.
사이트에 적용해야 할 특정 제한이 없으면 모든 IP 주소에 액세스가 허용되고
IP 주소가 제외되지 않습니다.
4. ADCLaunch 레지스트리 키 설정
기본적으로 RDS를 사용할 때는 RDSServer.DataFactory를
제외한 모든 구성 요소를 원격으로 설치할 수 없습니다.
구성 요소의 클래스를 RDS에서 액세스해야 하는 경우에는 클래스를 위해
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
\W3SVC\Parameters\ADCLaunch에 위치한 ADCLaunch 키 아래에
클래스의 이름을 가진 키를 추가해야 합니다.
예를 들어, objMyObject.clsMyClass라는 클래스의 인스턴스를 만들 수 있도록 허용하려면
이 위치에 objMyObject.clsMyClass라는 키를 추가합니다.
사용자 지정 구성 요소가 RDS를 통해 작동하지 않지만
Adctest.asp 예제 페이지가 제대로 작동한다면
ADCLaunch 설정 또는 구성 요소 자체에 대한 사용 권한에 문제가 있을 가능성이 높습니다.
RDSServer.DataFactory 키는 RDS를 설치할 때 기본적으로 추가되지만
이 구성 요소가 필요 없으면 이 키를 제거할 수도 있습니다.
클래스 키에는 값이 필요 없지만 단지 RDS 액세스를 허용하기 위해
ADCLaunch 키 아래에 있어야 합니다.
5. 처리기(Handler) 구성
MDAC 2.1부터는 기본적으로 모든 데이터 액세스를 처리기(Handler)
파일을 통해 전달해야 RDSServer.DataFactory가 작동합니다.
따라서, 이 처리기(Handler) 파일을 구성하지 않으면 RDSServer.DataFactory가
작동하지 않을 수도 있습니다.
DataFactory의 이 기능을 해제하거나 처리기(Handler) 파일을 구성하여 사용할 수 있습니다.
이 기능의 설정을 해제하려면 C:\Program Files\Common Files\System\MSADC 폴더에
있는 Handunsf.reg 파일을 두 번 누른 다음 웹 서버를 다시 시작합니다.
이렇게 하면 처리기(Handler) 파일을 사용하지 않고도
RDSServer.DataFactory가 동작할 수 있도록 웹 서버의 레지스트리가 수정됩니다.
분산트랜젝션(DTC)오류해결
오늘 회사에서 보안이슈로 기본포트를 제외한 모두 포트를 막아버렸다.
움.
그래서 링크 서버로 연결한 sql서버에 작업을 할때 분산트랜젝션(DTC)관련 오류가 발생하였다.
쩝..
다행이 예전에 정리해놓은 문서가 있어 쉽게 해결 할수 있었다.
문서가 없어지기 전에 블로그에 글을 남긴다.
DTC는 NetBios를 통해서 상대방을 확인하기 때문에
컴퓨터 이름으로 IP를 찾을 수 있어야 가능 하고 RPC통신이 가능해야 합니다.
1. NetBios 확인
확인방법 : ping 컴퓨터이름
ping테스트를 하려는 것이 아니므로 ping이 나가는 것을 확인할 필요는 없고
단지 Pinging 컴퓨터이름 [192.168.xxx.xxx] with 32 bytes of data: 과 같은 형식으로
IP를 찾아 주는지 만 확인 하면 됩니다.
2. UDP 137 port 확인하기
137 UDP 는 NetBIOS 이름 확인
관련 포트 이다.
windows방화벽 사용시 - 파일 및 프린터 공유 에서 UDP 137 이 허용되었는지 확인한다
3. RCP 통신 확인
135포트가 열려있는지 확인한다. – 참고로 MSSQL은 1433 을 사용한다.
netstat -an 명령을 이용
LISTEN으로 뜨는 것 중 135가 있는지 확인한다.
방화벽 사용시 - TCP 137 이 허용되었는지 확인한다.
Windows 방화벽을 사용시 예외 프로그램 추가
예외 프로그램에 %SystemRoot%\system32\msdtc.exc 를 추가한다.
4. DTC보안구성 확인
시작>관리도구>구성요소 관리자>내컴퓨터 > 내컴퓨터등록정보 에서 MSDTC속성을 편집한다.

DTC가 네트워크를 통해서 작동할 수 있도록 한다.
클라이언트 및 관리
이 두항목을 원격지에서 로컬 DTC설정을 변경 할수 있게끔 하고
로컬 컴퓨터의 DTC가 아닌 원격 컴퓨터의 DTC를 사용하도록 할 수 있습니다.
그러나 성능, 신뢰도, 안정성 등의 다양한 이유에서 사용하지 않는 것이 좋습니다.
트랜젝션 관리자 통신 DTC 트랜젝션에 관련한 실질적인 옵션이다.
인바운드 허용
원격지에서 시작된 트랜잭션에 로컬트랜잭션(자원)을 참여시킬지 여부를 결정한다.
즉 원격지의 트랜잭션에 로컬트랜잭션을 제어할 권한을 제공한다.
아웃바운드 허용
로컬트랜잭션에 원격지의 트랜잭션을 참여시킬지 여부를 결정한다.
인증DTC 끼리 통신을 할 때 사용되는 RPC 프로토콜의 보안 설정을 제어하는 옵션
상호인증 필요 - DTC끼리 서로 컴퓨터를 인증할 것인지 여부(Default)
들어오는 호출인자 인증 필요 - 인바운드 호출에 대해서만 인증할 것인가?
인증필요없음 - 인증하지 하지 않을것인가?
TIP 트랜젝션 사용
TIP는 유형이 다른 트랜잭션 관리자가 분산 트랜잭션을 조정할 수 있도록 결정한다.
XA 트랜잭션 사용
XA는 유니스 플렛폼에서 사용하는 분산 트랜잭션 프로토콜로 제공 여부를 결정한다.
5. Dtcping프로그램 이용
원격지(DB서버)와 로컬에 Dtcping 프로그램을 설치한다. 다운로드
Dtcping.exe을 실행하여 C:\dtcping에 압축을 푼다.
로컬에서 dtcping을 실행한다.
Remote Server Name 에 원격지 서버 NetBios이름을 적는다.
원격지에서 dtcping을 실행한다.
Remote Server Name 에 로컬서버 NetBios이름을 적는다.

로컬,원격지중 한곳에서 ping버튼을 클릭한다.
로그창에 보이는 메시지를 기준으로 에러를 확인한다.
에러발생시 원격지에 windows방화벽사용여부를 확인하여 이전단계를 실행한다.

2009년 8월 27일 목요일
날씨가 조금 쌀쌀해 졌나??
일본생활을 한지도 1년 반정도 되었다.
일본에 와서 지내는 2번째 여름...
처음에 맞은 여름은 정신이 없었다.
종일 회사에서 바쁘게 일하다
저녁에는 샤워와 선풍기 바람으로 그럭저럭..
올해 여름은 더웠다.
단지 그것뿐.. 정말 더웠다.
종일 에어콘에 휴일에도 어디 가고 싶지 않다.
에휴..
그래도 집에만 있는 와이프를 위해 휴일에는 외출을 해줘야 하는데..
이놈의 귀찮니즘..
날씨도 많이 서늘해 졌으니 이젠 좀 돌아다녀야 겠다.ㅋ
어디 좋은데 있음 알려주세요..
2009년 8월 12일 수요일
하나비를 가다.(요도가와)
오후에 어린이 교실에 가고 나서 淀川(요도가와)에서 하는 花火(하나비)를 갔다.
날씨는 짱 더웠다.
西中島南方(니시나까지마미나미까따)에 내려서 근처 ラ―メン(라면)집에서 저녁을 해결하고
gourmet(구루메)슈퍼에서 맥주 와 콜라쇼크(칵테일 종류 -맛은 콜라맛이다
-회사 팀장님이 맛이 괜찮다고 해서 한번 사봤다.),각종 먹을거리를 사서 강변으로 나갔다.
강변에 깔려 있는 사람들..ㅋ 나도 빈자리를 찾아 그들과 동참하였다.
도착시간은 6시정도 였는데 이리저리 자리 찾아 이동하다 보니 자리에 앉은건 6시30분정도 되었다.
막상 자리를 잡고 앉을려고 하는데 돗자리를 깜빡했다.
와이프랑 같이 그냥 풀위에 앉으려고 했는데 뒤쪽 자리에 계시던 아주머니가 신문을 건네주었다.
친절한 일본 아주머니 덕분에 편안하게 자리에 앉아 강변을 구경할수 있었다.
강변이라서 그런지 바람이 제법 불었다.
와 시원한 바람.. 기분이 좋았다.
그래서 맥주 한잔을 했다.
그런데 나만 더운건가.. 맥주 한잔을 먹더니 시원하던 바람도 느껴지지 않았다.
넘.힘들었다.ㅋ
드디어 7시 30분에 시작된 불꽃놀이 ..
다른 사이트 가보면 잘찍은것 많던데..
미흡하지만 한컷 담아봤다.
나의 사진은 ... 역시 처음은 힘들다.
그렇다고 시간이 지나면 좋아질까??






지나고 나서 생각해 보니 그날 만큼 덥고,습한 적이 별루 없었던 같았다.
다음날은 비가 왔다. 비가 올려고 그랬는지 더더욱 힘들었던 하나비 였다.
親子教室(어린이교실)에 가다.

일본어 선생이 무료 티켓을 주어서 가게 되었다.
제목에서 알수 있듯이 부모 와 자식이 참여 하는 교육인데
난 뭔가??
공짜여서 그냥 갔다..ㅋ

공연시작전.. 한컷..
어린이가 주인공이므로 앞쪽은 어린이 와 부모 뒤쪽은 나같이 그냥 구경온 사람들이 많이 앉았다.

공연중에 쓰는 가면에 대해서 설명하고 있다.

위쪽은 여자,아래쪽은 남자 가면 이다.
왼쪽이 어릴적 , 점점 나이가 많아 질수록 가면이 이상해 진다.
특히 여자쪽은 거의 도깨비 수준이다.
각 가면마다 앞을 볼수 있게 구멍이 나 있다.
특히 여자 4번째,남자 2번째 가면은 앞은 보이나 하는 생각이 들었다.

가면에 뚫여있는 구멍 생각보다 작다. 오른쪽에 비해 왼쪽이..ㅋ

부모들중에서 몇명 선정하여 직접 체험을 하는 장면
정말 잘 안보이는지 많이 힘들어 하였다.

어린이가 주인공이므로 참가한 어린이는 모두다 기회를 주었다.

한국이나 일본이나 어린아이는 너무 귀업다.
부모들이 나와서 사진을 찍어주고 있다.
그런데 가면은 영~~

어린아이임에도 불구하고 가면때문인지 술취한 아저씨처럼 보인다.ㅋㅋ
본격적인 공연을 시작하다.
일본어가 아직서툰난 무슨소리인지 통 ..
움.그래서 잠시 졸았다..
ㅋ 하지만 한가지는 기억이 난다 ...
공연을 내내 뒤에서 북같은걸 치시는 분이 내는 소리..
이호..
iphone App Store 에서 공연내내 들렸던 소리를 재생해주는 프로그램을 발견하였다.
TSUZUMIN 으로 검색해보길..
