2008-08-24 18 views
1

Мои коллеги пытаются подключить BizTalk 2006 R2 через адаптер DB2/MVS к базе данных, размещенной на мейнфрейме z/OS. При проверке соединительных параметров, они получают следующее сообщение об ошибкеОшибка подключения адаптера DB2 BizTalk

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 

При вводе параметров в обычной строке подключения и открытии с .NET кодом, то это прекрасно. Я новичок в BizTalk и DB2. Может ли кто-нибудь предложить, на что обратить внимание, когда эта ошибка возникает?

24 8 августа:

Ну, если нормальный .NET код с обычной строки соединения DB2 используется соединение может быть сделано и запросы представляются. То, что сообщает этот адаптер DB2, не может даже обеспечить правильное установление связи, не говоря уже о предоставлении запросов. Я не уверен, какие фактические механизмы задействованы для соединения DB2.

25 8 августа:

Согласно this MSDN forums posting, это, кажется, вопрос Логин.

Я видел это, и это не так. Если мы поместим имя пользователя в пакетную коллекцию, он по-прежнему сталкивается с той же проблемой.

26 8 августа:

Ввиду недостатка информации, касающейся подключения мэйнфреймов баз данных DB2 из продуктов Майкрософт, я поставил перед собой задачу проверки необработанные сетевых пакетов, чтобы получить подсказку, что происходит между. NET DB2 (что работает) и адаптер DB2 BizTalk 2006 (который бомбит). Я заметил, что трафик DB2 выполняется с использованием протокола DRDA. И в конце концов пришел к выводу метод адаптера BizTalk не удается из-за того, что записано в ответ SECCHKRM пакет сервера

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 вне меня. Прямо сейчас, что я могу наблюдать, явная разница между каждым методом, когда речь идет о последовательности переданных пакетов.

.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 

Интересно наблюдать вопрос провайдера .NET из различных пакетов протокола DRDA в пределах одного сегмента TCP. Адаптер BizTalk, с другой стороны, размещает только один пакет протокола для каждого сегмента TCP. Я не знаю, почему это так. Тем не менее, я на данный момент думаю, что это красная селедка, и истинная разница, вызывающая отказ в аутентификации, находится в обмене данными DRDA. Я не знаю протокол DRDA, поэтому мне придется его изучить, прежде чем я смогу его больше понять.

18 8 сентября:

На данном этапе проблема все еще не решена, как получить сотрудничество с командой DBA DB2 и помощь от Microsoft были встречены с большим количеством препятствий.

Что я хочу сообщить, я заметил, возможно, один важное различие между всеми случаями успешного соединения по сравнению с неудачной попытки:

Адаптер DB2 BizTalk является underlyingly с помощью Microsoft ODBC Driver для DB2. Другие успешные тесты программного обеспечения используют IBM DB2 ODBC DRIVER или IBM DB2 ODBC DRIVER - IBMCL1. Конфигурация параметров драйвера IBM отличается от драйвера Microsoft. Но мы не видим каких-либо явно важных различий, которые могут привести к неудачной аутентификации для драйвера Microsoft.

ответ

2

Почему, это, конечно, принял Microsoft достаточно долго, чтобы явно подтвердить это:

прокси-соединения через DB2Connect не поддерживается BizTalk DB2 адаптера

Поскольку политика нашего клиента является только базы данных DB2 через DB2Connect , адаптер не может быть и речи.

MORE INFO ФОН

Причина, почему адаптер DB2 работает только для прямого подключения к ЭВМ хоста г/OS, из-за юридических ограничений. Технически можно работать с DB2Connect, но IBM сделала его еще более проприетарным узлом и не позволила другим сторонам юридически установить правильную последовательность DRDA для подключения к ней.

0

Я никогда не использовал этот адаптер, кроме себя, поэтому я предполагаю, но, возможно, это связано с тем, что BizTalk использует для подключения или ваши порты настроены неправильно.