게시판 본문 COM / COM+ by VB 6.0 - Read Only

트랜잭션 오류 문제
작성자: 홍완식
작성일시: 2004-08-17 15:57,  조회수: 8,604
자료를 뒤지다 여기가지 들어 오게 되었는데 참 감명 깊은 사이트네요
asp 보다는 콤포넌트쪽의 문제 인듯 싶어 여기에 질문 드립니다. 점검한 내용을
자세하게 모두 올리다 보니 내용이 좀 길어 지네요. 하튼 좋은 답변 기대 합니다.

운영 환경
serverv4 = 데이타 서버
os = 2003enterprise edition
db = Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
방화벽 없음

servervdata = 웹 서버
os = 2003enterprise edition
db = Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
방화벽 없음
웹서버에 com+을 등록하는 중에 트랜잭션 오류가 발생하여 점검중 아래의 코드로만
구동하여도 오류가 발생 합니다.
아래에서
<%@transaction=required language=vbscript%>가 지정되지 않거나
=<서버네임>이 자기 자신 즉 웹서버의 db를 호출하거나
=<서버네임>이 2000 os에서 구동되는 db를 호출하는 경우는 정상
적으로 작동 됩니다.

코드
<%@transaction=required language=vbscript%>
<HTML>
<HEAD>
<!--METADATA TYPE="typelib" NAME="ADODB Type Library" UUID= "00000205-0000-0010-8000-00AA006D2EA4" -->
<OBJECT RUNAT=server PROGID=ADODB.Connection id=dbconn2> </OBJECT>
<OBJECT RUNAT=server PROGID=ADODB.Recordset id=rs2></OBJECT>
<%
strconnection="Provider=MSDataShape;driver={sql server};server=<서버네임>;database=northwind;uid=;password=;"
DBconn2.open strconnection
if dbconn2.state = adStateOpen then
response.write "2.디비 연결 되었음<br>"
sql="select top 3 * from Employees"
rs2.open sql,dbconn2
str=rs2.getstring(,,";","<br>")
response.write str
ELSE
response.write "2.디비 연결 못함<br>"
end if

sub ontransactionabort()
Response.Write "<center>오류가 발생하여 모든 작업을 취소 합니다<br></center>"
end sub

sub ontransactioncommit()
Response.Write "<center>정상작동<br></center>"
end sub
%>
</BODY>
</HTML>

오류 내용
Microsoft OLE DB Provider for ODBC Drivers 오류 '8004d00a'
[Microsoft][ODBC SQL Server Driver]분산 트랜잭션 오류입니다.

사용 환경 및 설정 변경 내용
네트워크/ tcp ip / 고급 /wins / netbios 기본값
윈도우 구성 요소중 iis, 네트워크 dtc 설치됨
ad 환경이 아님
dtc 서비스 실행중
sql의 네트 워크 연결 tcp/ip 만 사용토록 설정 됨
구성요소 서비스의 내컴퓨터 속성 (양쪽 동일하게 설정 되어 있음)
- 옵션/트랜잭션 시간 60--> 90
- 기본속성 : 이 컴퓨터에서 com 인터넷 서비스 사용 선택됨
- 기본프로토콜 : tcp/ip 속성 5000-5020 추가
iis는 asp 확장만 허용한 상태임
netstat -an 결과 135번 udp는 열려 있지 않음

8004d00a의 오류에 대하여 306843으로 문제를 해결하고자하였으나 실패하였습니다.
*** 부분은 제공해준 모델과 차이가 있는 부분 입니다.
rpcping_데이타서버쪽.log
08-17, 12:35:38(476)-->Log file from RPC Server: SERVERV4
08-17, 12:35:38(476)-->Start RPC Server...
08-17, 12:35:38(476)-->RPC Server Handle registered successfully
08-17, 12:35:38(486)-->RPC Server endpoint-maping succeeded
08-17, 12:35:38(486)-->RPC Server starts Listening
08-17, 12:36:15(760)-->SERVERV4's DTC CID is:
08-17, 12:36:15(760)--> a5f12c79-bbdc-4da0-8f74-d6e9940bbe8e
08-17, 12:36:15(760)-->Received following string from partner
08-17, 12:36:15(760)--> 84baf519-77f6-4e72-baf0-7015076f3ec2
08-17, 12:36:15(760)-->RPC test passed successfully.
08-17, 12:38:12(027)-->RPC server handle unregistered
08-17, 12:38:12(037)-->Server end point unregistered

rpcping_웹서버쪽.log
08-17, 12:36:17(609)-->Log from RPC client: SERVERDATA
08-17, 12:36:17(609)-->Start RPCPing with remote machine: serverv4
08-17, 12:36:17(625)-->serverv4's network structure filled
08-17, 12:36:17(640)-->serverv4 is resolved to: 211.181.98.120
08-17, 12:36:17(640)-->This IP is back traced to: SERVERV4 *** 도메인으로 구성되지 않음
08-17, 12:36:17(640)-->RPC client initialization....
08-17, 12:36:17(640)-->RPC established StringBinding for: serverv4
08-17, 12:36:17(640)-->STATUS: Checking Supported Communication Protocols.
08-17, 12:36:17(640)-->STATUS: Default support of LRPC.
08-17, 12:36:17(656)-->STATUS: TCP/IP Supported.
*** spx 지원 없음
08-17, 12:36:17(656)-->STATUS: Named Pipe Supported.
08-17, 12:36:17(656)-->Binding through TCP/IP
08-17, 12:36:17(656)-->DTC CID of SERVERDATA is:
08-17, 12:36:17(671)--> 84baf519-77f6-4e72-baf0-7015076f3ec2
08-17, 12:36:17(671)-->Sending CID to RPC server
08-17, 12:36:17(687)-->Message delivered. Asking for remote CID...
08-17, 12:36:17(687)-->Retrieved serverv4's DTC CID as:
08-17, 12:36:17(687)--> a5f12c79-bbdc-4da0-8f74-d6e9940bbe8e
08-17, 12:36:17(703)-->RPC test is successful
08-17, 12:36:20(500)-->RPC server handle unregistered

RPC 통신쪽은 이상이 없는듯 싶습니다만 아래 dtc 통신 로그에는 오류가 있습니다..

dtcping_데이타서버쪽.log
08-17, 15:43:43(385)-->This Log file is from DTC server: SERVERV4
08-17, 15:43:43(385)-->STATUS: Initializing Server Manager.
08-17, 15:43:43(385)-->STATUS: Checking Supported Communication Protocols.
08-17, 15:43:43(385)-->STATUS: Default support of LRPC.
08-17, 15:43:43(385)-->STATUS: TCP/IP Supported.
08-17, 15:43:43(395)-->LRPC is registered by default
08-17, 15:43:43(395)-->TCP/IP is registered
08-17, 15:43:43(395)-->STATUS: Server Managers initialization completed successfully
08-17, 15:43:43(395)-->STATUS: Server Manager is listening
08-17, 15:44:07(089)-->RPC: Poke is called from SERVERDATA.
08-17, 15:44:07(089)-->Starting new session...
08-17, 15:44:07(089)-->STATUS: Initializing Session on: SERVERV4.
08-17, 15:44:07(089)--> the DTC partner is: SERVERDATA
08-17, 15:44:07(099)-->This is a Primary Session
08-17, 15:44:07(099)-->Session is initialized successfully.
08-17, 15:44:07(099)-->Session is starting...
08-17, 15:44:07(099)-->PRIMARY: Start DTC Binding Test
08-17, 15:44:07(099)-->The testing GUID is ddaa7084-723a-4e91-84ed-7b4830094fb0
08-17, 15:44:07(109)-->RPC will bind through TCP/IP
08-17, 15:44:07(109)-->Invoking Server Procedure (BuildContext)...
08-17, 15:44:08(141)--> Secondary: SERVERDATA responded
08-17, 15:44:08(151)-->Implicit Context Handle was built successfully.
08-17, 15:44:08(181)-->PRIMARY: DTC Binding Test Passed.
08-17, 15:44:19(507)-->RPC: Called BeginTearDown
08-17, 15:44:19(517)-->Leaving BeginTearDown
08-17, 15:44:19(728)-->SESSION: DOWN
08-17, 15:44:19(728)-->PRIMARY: Start DTC Binding Test
08-17, 15:44:19(728)-->The testing GUID is ecf43848-1a9c-4da4-bd99-9ce6c93ed6d7
08-17, 15:44:19(728)-->RPC will bind through TCP/IP
08-17, 15:44:19(738)-->Invoking Server Procedure (BuildContext)...
08-17, 15:44:19(738)-->RPC error in building DTC context handle

with hr = 0x80100171 at g:\dev\dtc\dtcping\servermanager.cpp, line 766
08-17, 15:44:19(738)-->DTC Binding Algorithm failure

with hr = 0x80100171 at g:\dev\dtc\dtcping\cso.cpp, line 817
08-17, 15:44:19(738)-->STATUS : (PRIMARY)Attempt Failed.

with hr = 0x80100171 at g:\dev\dtc\dtcping\cso.cpp, line 862
08-17, 15:44:19(748)-->STATUS: Attempt To Bind Failed.

with hr = 0x80100171 at g:\dev\dtc\dtcping\cso.cpp, line 567
08-17, 15:48:10(079)-->RPC server handle unregistered
08-17, 15:48:10(079)-->DTC simulation server is no longer listening
08-17, 15:48:10(079)-->Stopping Session...

dtcping_웹서버쪽.log
08-17, 15:44:09(531)-->This Log file is from DTC client: SERVERDATA
08-17, 15:44:09(531)-->Client Start DTC simulation with partner: serverv4
08-17, 15:44:09(546)-->STATUS: Initializing Server Manager.
08-17, 15:44:09(546)-->STATUS: Checking Supported Communication Protocols.
08-17, 15:44:09(546)-->STATUS: Default support of LRPC.
08-17, 15:44:09(562)-->STATUS: TCP/IP Supported.
08-17, 15:44:09(562)-->LRPC is registered by default
08-17, 15:44:09(562)-->TCP/IP is registered
08-17, 15:44:09(562)-->STATUS: Server Managers initialization completed successfully
08-17, 15:44:09(562)-->STATUS: Server Manager is listening
08-17, 15:44:09(578)-->STATUS: Initializing Session on: SERVERDATA.
08-17, 15:44:09(593)--> the DTC partner is: serverv4
08-17, 15:44:09(593)-->Starting a Secondary Session
08-17, 15:44:09(593)-->Session is initialized successfully.
08-17, 15:44:09(593)-->Session is starting...
08-17, 15:44:09(609)-->Ask Partner to start Binding Test...
08-17, 15:44:09(609)-->RPC will bind through TCP/IP
08-17, 15:44:09(625)-->Invoking Server Procedure (Poke)...
08-17, 15:44:09(656)-->Poke is successful
08-17, 15:44:09(687)--> Primary: SERVERV4 responded
08-17, 15:44:10(656)-->Partner responded to the Binding Test Request
08-17, 15:44:10(656)-->RPC will bind through TCP/IP
08-17, 15:44:10(656)-->Invoking Server Procedure (BuildContext)...
08-17, 15:44:10(703)-->SECONDARY: Session established
08-17, 15:44:10(703)-->Implicit Context Handle was built successfully.
08-17, 15:44:22(046)-->RPC server handle unregistered
08-17, 15:44:22(062)-->DTC simulation server is no longer listening
08-17, 15:44:22(062)-->Stopping Session...

여기까지 하고는 더 이상 손을 못대고 있습니다. 코드상의 단순한 문제일 수도 있고
os 상의 문제 일 수도 있겟습니다만 3주째 해결을 못하고 있습니다.
통상 발생하는 문제 인지 아닌지도 잘 모르겠구요. 번거롭더라도 자세한 해결 방법을 좀 알려 주세요
추가로 필요한 사항이 있으면 메일 주시거나 011-9790-6042연락 주세요...꼭
감사 합니다.

IP 주소: 211.181.98.99
전체 276 건의 게시물, 12 페이지로 구성된 COM / COM+ by VB 6.0 게시판의 10 페이지입니다.
게시물
51

뉴스그룹에서 재미난 방법을 찾았습니다. [1]

zziuni

2004-10-20 6,214
50

이벤트 오류

홍완식

2004-08-21 3,193
49

re: 이벤트 오류

송원석

2004-08-21 3,181

트랜잭션 오류 문제

홍완식

2004-08-17 8,604
47

re: 트랜잭션 오류 문제

송원석

2004-08-18 3,708
46

해결방법 [1]

홍완식

2004-08-19 834
45

프로그램 배포

정보문

2004-07-29 3,094
44

re: 프로그램 배포

송원석

2004-07-29 2,913
43

아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

권민수

2004-05-21 3,731
42

re: 아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

송원석

2004-05-22 3,110
41

re: 아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

권민수

2004-05-22 2,933
40

COM 개발시 Property Get 과 Let에 관해 알려주세요..

우기

2004-05-08 776
39

re: COM 개발시 Property Get 과 Let에 관해 알려주세요..

송원석

2004-05-08 3,192
38

송원석님 답변 정말 감사합니다.. 저에게는 재미있는(?) 일이기에 다시 글 올립니다. ^^*

우기

2004-05-08 769
37

re: 송원석님 답변 정말 감사합니다.. 저에게는 재미있는(?) 일이기에 다시 글 올립니다. ^^*

송원석

2004-05-08 3,236
36

따끔한 충고의말 정말 감사합니다. ^^ [1]

우기

2004-05-08 784
35

RDS 이용한 VBScript 문제입니다.

윤경민

2004-02-26 785
34

re: RDS 이용한 VBScript 문제입니다.

송원석

2004-02-26 3,211
33

[질문]com+ 프락시 사용 클라이언트 에러 발생!

궁금이

2004-02-01 982
32

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

송원석

2004-02-02 3,266
31

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

궁금이

2004-02-02 919
30

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

송원석

2004-02-02 3,082
29

RDS를 사용하여 사원인증을 쿼리하려고 하는데...

saint74

2003-11-03 3,479
28

re: RDS를 사용하여 사원인증을 쿼리하려고 하는데...

송원석

2003-11-03 3,495
27

감사합니다. 상세 구현 예상 방법입니다..

saint74

2003-11-04 3,425