2008-08-24 8 views
1

동료가 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 드라이버에 대한 인증 실패로 이어질 수있는 명백하게 중요한 차이는 없습니다.

답변

2

: DB2Connect를 통해

프록시 연결은 고객의 정책 때문에 BizTalk의 DB2 어댑터

에서 지원하지 않는 DB2Connect을 통해서만 액세스 DB2 데이터베이스에있다 어댑터가 문제가되지 않습니다.

더 배경의 정보는

는 DB2 어댑터는 a에서 z/OS 메인 프레임 호스트에 직접 연결을 위해 작동하는 이유, 법적 제한 때문이다. 기술적으로는 DB2Connect와의 연 결이 가능하지만 IBM은이를 사전 노드로 만들어 다른 당사자가 연결하기 위해 올바른 DRDA 순서를 합법적으로 수립하지 못하게합니다.

0

나는이 어댑터를 사용하지 않았지만 자신이 생각하기에 BizTalk가 연결하는 데 사용하는 계정과 관련이 있거나 포트가 올바르게 구성되지 않았습니다.

0

this MSDN forums posting에 따르면 로그인 문제인 것으로 보입니다.

, 그것은 확실히 명시 적으로 확인하기 위해 충분히 마이크로 소프트를했다 왜