Ошибка подключения адаптера BizTalk DB2

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

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 августа 2008 г.

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

25 августа 2008 г.

Согласно этому MSDN публикация сообщений на форумах, похоже, проблема с входом в систему.

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

26 августа 2008 г.

Из-за нехватки информации о подключении к базам данных DB2 мэйнфреймов из продуктов Microsoft я взял на себя задачу проверки необработанных сетевых пакетов, чтобы понять, что происходит между соединением поставщика .NET DB2 (которое работает) и адаптером BizTalk 2006 DB2. (которые бомбы). Я заметил, что трафик 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\301@\301\331z@\301\344\343\310\305\325\343\311\303\301\343\311\326\325@\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 сентября 2008 г .:

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

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

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


person icelava    schedule 24.08.2008    source источник


Ответы (3)


Да уж, Microsoft определенно потребовалось достаточно времени, чтобы однозначно подтвердить это:

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

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

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

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

person icelava    schedule 20.10.2008

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

person Sean Kearon    schedule 24.08.2008

Согласно этому MSDN публикация сообщений на форумах, похоже, проблема с входом в систему.

person Mark Brackett    schedule 24.08.2008