동료가 DB2/MVS 어댑터를 통해 BizTalk 2006 R2를 z/OS 메인 프레임에서 호스팅되는 데이터베이스에 연결하려고합니다. 연결 설정을 테스트 할 때 일반 연결 문자열 및 .NET 코드와 개방의 설정을 놓을 때, 그들은 다음과 같은 오류BizTalk DB2 어댑터 연결 오류
Could not connect to data source 'New Data Source':
The network connection was terminated because the host failed to send any data.
SQLSTATE: 08S01, SQLCODE: -605
을 받고, 그 괜찮습니다. 저는 BizTalk 및 DB2를 처음 사용합니다. 아무도이 오류가 표면에 나타날 때 무엇을주의해야하는지 제안 할 수 있습니까?
8월 24일 08 :
일반 DB2 연결 문자열을 사용하여 일반 .NET 코드를 사용하는 경우 음, 연결이 될 수 있으며, 쿼리를 제출했다. 이 DB2 어댑터가보고하는 것은 쿼리를 제출하는 것 외에도 적절한 연결 핸드 셰이크를 만들 수 없다는 것입니다. DB2 연결을 수행하는 데 필요한 실제 메커니즘이 무엇인지 확신 할 수 없습니다.
25 팔월 08 :는
this MSDN forums posting에 따르면, 로그인 문제가 될 것으로 보인다.
나는 그것을 보았다. 사용자 이름을 패키지 모음으로 지정하면 여전히 동일한 문제가 발생합니다.
26 팔월 08 : 때문에 Microsoft 제품에서 메인 프레임 DB2 데이터베이스에 연결에 관한 정보의 부족의
, 나는 사이에 무슨 일이 일어나고 있는지 단서를 얻을 수 원시 네트워크 패킷을 검사하는 작업을 착수했다. NET DB2 공급자의 연결 (작동)과 BizTalk 2006 DB2 어댑터 (폭탄). DB2 트래픽이 DRDA 프로토콜을 사용하여 수행되는 것을 관찰했습니다. 그리고 궁극적으로는 BizTalk 어댑터 방법 때문에 서버의 응답 SECCHKRM 패킷의 .NET 공급자에 성공하는 것은 내 능력 밖 동안 동일한 자격 증명이 여기에 실패하는 이유
DRDA (Security Check)
DDM (SECCHKRM)
Length: 55
Magic: 0xd0
Format: 0x02
0... = Reserved: Not set
.0.. = Chained: Not set
..0. = Continue: Not set
...0 = Same correlation: Not set
DSS type: RPYDSS (2)
CorrelId: 0
Length2: 49
Code point: SECCHKRM (0x1219)
Parameter (Severity Code)
Length: 6
Code point: SVRCOD (0x1149)
Data (ASCII):
Data (EBCDIC):
Parameter (Security Check Code)
Length: 5
Code point: SECCHKCD (0x11a4)
Data (ASCII):
Data (EBCDIC):
Parameter (Server Diagnostic Information)
Length: 34
Code point: SRVDGN (0x1153)
Data (ASCII): \304\331\304\[email protected]\301\[email protected]\301\344\343\310\305\325\343\311\303\301\343\311\326\[email protected]\206\201\211\223\205\204
Data (EBCDIC): DRDA AR: AUTHENTICATION failed
에 기록 무슨 실패 결론을 내렸다. 바로 지금, 내가 관찰 할 수있는 것은 전송 된 패킷의 순서에 관해서 각 방법의 현저한 차이입니다.
.NET의 DB2 제공
No. Time Source Destination Protocol Info
1 0.000000 [client IP] [DB2 server IP] TCP kpop > 50000 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=1
2 0.000399 [DB2 server IP] [client IP] TCP 50000 > kpop [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460 WS=0
3 0.000414 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=1 Ack=1 Win=65536 [TCP CHECKSUM INCORRECT] Len=0
4 0.000532 [client IP] [DB2 server IP] DRDA EXCSAT | ACCSEC
5 0.038162 [DB2 server IP] [client IP] DRDA EXCSATRD | ACCSECRD
6 0.041829 [client IP] [DB2 server IP] DRDA ACCSEC | SECCHK | ACCRDB
7 0.083626 [DB2 server IP] [client IP] TCP 50000 > kpop [ACK] Seq=108 Ack=542 Win=65535 Len=0
8 0.190534 [DB2 server IP] [client IP] DRDA ACCSECRD | SECCHKRM | ACCRDBRM | SQLCARD
9 0.199776 [client IP] [DB2 server IP] DRDA PRPSQLSTT | SQLATTR | SQLSTT | OPNQRY
10 0.293307 [DB2 server IP] [client IP] TCP [TCP segment of a reassembled PDU]
11 0.293359 [DB2 server IP] [client IP] TCP [TCP segment of a reassembled PDU]
12 0.293377 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=870 Ack=1444 Win=64092 [TCP CHECKSUM INCORRECT] Len=0
13 0.293404 [DB2 server IP] [client IP] TCP [TCP segment of a reassembled PDU]
14 0.293452 [DB2 server IP] [client IP] TCP [TCP segment of a reassembled PDU]
15 0.293461 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=870 Ack=2516 Win=65536 [TCP CHECKSUM INCORRECT] Len=0
16 0.293855 [DB2 server IP] [client IP] TCP [TCP segment of a reassembled PDU]
17 0.293908 [DB2 server IP] [client IP] DRDA SQLDARD
18 0.293918 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=870 Ack=3588 Win=64464 [TCP CHECKSUM INCORRECT] Len=0
19 0.293957 [DB2 server IP] [client IP] DRDA QRYDSC
20 0.294008 [DB2 server IP] [client IP] DRDA QRYDTA
21 0.294017 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=870 Ack=4660 Win=65536 [TCP CHECKSUM INCORRECT] Len=0
22 0.294023 [DB2 server IP] [client IP] DRDA SQLCARD
23 0.295346 [client IP] [DB2 server IP] DRDA RDBCMM
24 0.297868 [DB2 server IP] [client IP] DRDA ENDUOWRM | SQLCARD
25 0.421392 [client IP] [DB2 server IP] DRDA PRPSQLSTT | SQLATTR | SQLSTT | OPNQRY
26 0.456504 [DB2 server IP] [client IP] DRDA SQLDARD | OPNQRYRM | TYPDEFNAM | QRYDSC | QRYDTA | ENDQRYRM | TYPDEFNAM | SQLCARD
27 0.456756 [client IP] [DB2 server IP] DRDA RDBCMM
28 0.488311 [DB2 server IP] [client IP] DRDA ENDUOWRM | SQLCARD
29 0.498806 [client IP] [DB2 server IP] DRDA PRPSQLSTT | SQLATTR | SQLSTT | OPNQRY
30 0.630477 [DB2 server IP] [client IP] TCP 50000 > kpop [ACK] Seq=5157 Ack=1579 Win=65171 Len=0
31 0.788165 [DB2 server IP] [client IP] DRDA SQLDARD | OPNQRYRM | TYPDEFNAM | QRYDSC | QRYDTA
32 0.788203 [DB2 server IP] [client IP] DRDA ENDQRYRM
33 0.788225 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=1579 Ack=5815 Win=64380 [TCP CHECKSUM INCORRECT] Len=0
34 0.788648 [client IP] [DB2 server IP] DRDA RDBCMM
35 0.795951 [DB2 server IP] [client IP] DRDA ENDUOWRM | SQLCARD
36 0.807365 [client IP] [DB2 server IP] DRDA PRPSQLSTT | SQLATTR | SQLSTT | OPNQRY
37 0.838046 [DB2 server IP] [client IP] DRDA SQLDARD | OPNQRYRM | TYPDEFNAM | QRYDSC | QRYDTA | ENDQRYRM | TYPDEFNAM | SQLCARD
38 0.838328 [client IP] [DB2 server IP] DRDA RDBCMM
39 0.841866 [DB2 server IP] [client IP] DRDA ENDUOWRM | SQLCARD
40 0.973506 [client IP] [DB2 server IP] TCP kpop > 50000 [ACK] Seq=1906 Ack=6304 Win=65482 [TCP CHECKSUM INCORRECT] Len=0
BizTalk의 DB2 어댑터
No. Time Source Destination Protocol Info
1 0.000000 [client IP] [DB2 server IP] TCP 28165 > 50000 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=8
2 0.002587 [DB2 server IP] [client IP] TCP 50000 > 28165 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460 WS=0
3 0.010146 [client IP] [DB2 server IP] TCP 28165 > 50000 [ACK] Seq=1 Ack=1 Win=65536 Len=0
4 0.019698 [client IP] [DB2 server IP] DRDA EXCSAT
5 0.020849 [DB2 server IP] [client IP] DRDA EXCSATRD
6 0.034699 [client IP] [DB2 server IP] DRDA ACCSEC
7 0.036584 [DB2 server IP] [client IP] DRDA ACCSECRD
8 0.042031 [client IP] [DB2 server IP] DRDA SECCHK
9 0.046350 [DB2 server IP] [client IP] DRDA SECCHKRM
10 0.046642 [DB2 server IP] [client IP] TCP 50000 > 28165 [FIN, ACK] Seq=160 Ack=200 Win=65336 Len=0
11 0.053787 [client IP] [DB2 server IP] TCP 28165 > 50000 [ACK] Seq=200 Ack=161 Win=65536 Len=0
12 0.056891 [client IP] [DB2 server IP] DRDA ACCRDB
13 0.058084 [DB2 server IP] [client IP] TCP 50000 > 28165 [RST, ACK] Seq=161 Ack=295 Win=0 Len=0
하나의 TCP 세그먼트 내에서 다양한 DRDA 프로토콜 패킷 밖으로 .NET 공급자의 문제를 목격하는 것이 재미있다. 반면에 BizTalk 어댑터는 TCP 세그먼트 당 하나의 프로토콜 패킷 만 배치합니다. 왜 그런지 모르겠다. 그러나 나는 현재 이것이 청어라고 생각하며 인증 실패를 야기하는 진정한 차이점은 DRDA 데이터 교환에 있습니다. 나는 DRDA 프로토콜을 알지 못하기 때문에 그것을 더 잘 이해하기 전에 연구해야 할 것입니다.
9월 18일 08 : 문제가 여전히 해결되지이 단계에서
는 마이크로 소프트의 DB2 DBA 팀과 도움의 협력을 얻기로 많은 장애물을 만났다되었다.는 BizTalk의 DB2 어댑터 underlyingly DB2에 대한 Microsoft ODBC 드라이버를 사용
: 내가보고 원하는 작업
내가 실패한 시도에 비해 연결이 성공의 모든 경우 사이에 아마도 하나의 중요한 차이를 관찰 한 것이다. 성공한 다른 소프트웨어 테스트는 IBM DB2 ODBC 드라이버 또는 IBM DB2 ODBC 드라이버 - IBMCL1을 사용합니다. IBM 드라이버의 매개 변수 구성은 Microsoft의 드라이버와 다릅니다. 그러나 Microsoft 드라이버에 대한 인증 실패로 이어질 수있는 명백하게 중요한 차이는 없습니다.