خطأ في اتصال محول BizTalk DB2
-
09-06-2019 - |
سؤال
يحاول زملائي توصيل 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 أغسطس 08:
حسنًا، إذا تم استخدام كود .NET عادي مع سلسلة اتصال DB2 عادية، فيمكن إجراء الاتصال وإرسال الاستعلامات.ما يقوم محول DB2 بالإبلاغ عنه هو أنه لا يمكنه حتى إجراء مصافحة اتصال مناسبة، ناهيك عن إرسال الاستعلامات.لست متأكدًا من الآليات الفعلية المستخدمة لإجراء اتصال DB2.
25 أغسطس 08:
وفق نشر منتديات MSDN هذه, ، يبدو أن هناك مشكلة في تسجيل الدخول.
لقد رأيت ذلك وهذا ليس هو الحال هنا.إذا وضعنا اسم المستخدم كمجموعة الحزم، فسيظل يواجه نفس المشكلة.
26 أغسطس 08:
نظرًا لندرة المعلومات المتعلقة بالاتصال بقواعد بيانات 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
محول بيزتوك 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 سبتمبر 08:
في هذه المرحلة، لم يتم حل المشكلة بعد، حيث أن الحصول على التعاون من فريق DB2 DBA والمساعدة من Microsoft قد واجه العديد من العقبات.
ما أريد الإبلاغ عنه هو أنني ربما لاحظت اختلافًا حاسمًا بين جميع حالات الاتصال الناجح مقابل المحاولة الفاشلة:
يستخدم محول BizTalk DB2 بشكل أساسي برنامج تشغيل Microsoft ODBC لـ DB2.تستخدم اختبارات البرامج الأخرى التي نجحت برنامج تشغيل IBM DB2 ODBC أو برنامج تشغيل IBM DB2 ODBC – IBMCL1.يختلف تكوين معلمة برنامج تشغيل IBM عن برنامج تشغيل Microsoft.لكننا لا نرى أي اختلاف حاسم واضح قد يؤدي إلى فشل المصادقة لبرنامج تشغيل Microsoft.
المحلول
لماذا، من المؤكد أن Microsoft استغرقت وقتًا كافيًا لتأكيد ذلك بشكل صريح:
اتصالات الوكيل عبر DB2Connect غير مدعومة بواسطة BizTalk DB2 Adaptor
وبما أن سياسة عملائنا تتمثل في الوصول إلى قواعد بيانات DB2 فقط عبر DB2Connect، فإن المحول غير وارد.
المزيد من المعلومات الأساسية
السبب وراء عمل محول DB2 فقط للاتصال المباشر بمضيف حاسب مركزي z/OS، يرجع إلى القيود القانونية.من الناحية الفنية، من الممكن عمل اتصال مع DB2Connect، لكن IBM جعلتها عقدة ذات أولوية ومنعت الأطراف الأخرى من إنشاء تسلسل DRDA الصحيح للاتصال به بشكل قانوني.
نصائح أخرى
لم أستخدم هذا المحول مطلقًا إلا بنفسي، لذلك أعتقد أن الأمر يتعلق بالحساب الذي يستخدمه BizTalk للاتصال أو لم يتم تكوين المنافذ الخاصة بك بشكل صحيح.
وفق نشر منتديات MSDN هذه, ، يبدو أن هناك مشكلة في تسجيل الدخول.