أنظمة الحاسوب المركزي وأنظمة IBM
يغطي هذا الدليل مجموعة Mainframe في Data Source Explorer (DSE):
- IBM i / AS400 عبر IBM i Access ODBC
- IBM z/OS Db2 عبر IBM Db2 ODBC/CLI
- VSAM عبر طبقة ODBC افتراضية أو محول REST متوافق مع DSE
- IMS عبر REST/API أو ODBC
- CICS عبر REST/API أو ODBC
ملاحظة مصطلحية: يعمل IBM i على IBM Power وليس على IBM Z. يضعه DSE ضمن مجموعة Mainframe/legacy لتسهيل إدارة مصادر البيانات المؤسسية القديمة في مكان واحد.

1. البنية وطريقة الدعم
لا يقوم DSE بمحاكاة بروتوكولات الحاسوب المركزي الأصلية. بل يعتمد على طبقات وصول قياسية:
| المصدر | النقل | ما يلزم خارج DSE |
|---|---|---|
| IBM i / AS400 | ODBC | برنامج تشغيل IBM i Access ODBC Driver 64-bit، شبكة، مستخدم IBM i |
| IBM z/OS Db2 | ODBC | IBM Data Server Driver for ODBC/CLI 64-bit، ترخيص Db2 Connect، منفذ DRDA |
| VSAM | ODBC/REST | middleware/virtualization أو محول |
| IMS | REST/ODBC | طبقة API/service أو virtualization |
| CICS | REST/ODBC | API gateway/service layer |
التسلسل الموصى به: إعداد المضيف أو المحول، اختبار الاتصال خارج DSE عند الإمكان، اختيار النوع الصحيح ضمن Mainframe، حفظ connection string، تشغيل Test connection، تحميل الكائنات، ثم التحقق من Table info و Preview و Row details والاستعلام التجريبي.
2. قواعد الأمان
- استخدم حساب DSE مخصصا للقراءة فقط متى أمكن
- لا تضع كلمات مرور أو tokens أو مفاتيح SSH خاصة في الوثائق أو source control
- استخدم
<password>و<host>و<user>في الأمثلة - امنح الحد الأدنى من الصلاحيات على المكتبات والجداول والخدمات
- استخدم TLS أو VPN أو شبكة خاصة عندما يكون ذلك متاحا
- يمكن أن يكون مستخدم SSH الخاص بالنفق مختلفا عن مستخدم ODBC
- لا تمنح مستخدم DSE صلاحيات إدارية فقط لتسهيل الاختبار
IBM i / AS400 — إعداد كامل
3. المتطلبات
تحتاج إلى IBM i يعمل ويمكن الوصول إليه، TCP/IP فعال، مستخدم عادي مثل DSELAB، host servers تعمل، Windows 64-bit مع IBM i Access ODBC، ومكتبة/جدول يمكن للمستخدم قراءته.
مختبر مرجعي اختياري: IBM Power Virtual Server (PowerVS)
إذا لم يتوفر لديك قسم IBM i قائم، يمكن استخدام IBM Power Virtual Server (PowerVS) يعمل بنظام IBM i كمختبر للتحقق من الموصل. استخدام PowerVS اختياري، وDSE لا يعتمد على IBM Cloud تحديداً.
التسلسل الموصى به:
- في IBM Cloud أنشئ أو اختر Power Virtual Server workspace في منطقة معتمدة لدى مؤسستك.
- أنشئ virtual server instance من صورة IBM i مسموح بها ضمن استحقاق IBM وخطة الاختبار لديك.
- خصص CPU وذاكرة وتخزيناً كافياً لإكمال IPL وتشغيل خدمات Db2 for i host بصورة مستقرة. اختبار الموصل لا يحتاج إلى حجم إنتاجي.
- اربط القسم بشبكة خاصة. أضف اتصالاً عاماً فقط إذا كانت البنية تتطلب ذلك، وقيد الوصول الوارد إلى عناوين معتمدة.
- انتظر حتى تصبح الحالة Active، ثم افتح وحدة التحكم/VNC التي يوفرها IBM وأكمل مهام البدء الأول المعتادة في IBM i، بما في ذلك قبول اتفاقيات البرامج إذا طلبت الصورة ذلك.
- سجل اسم المضيف أو عنوان IP القابل للتوجيه. إذا بقيت منافذ IBM i host server خاصة، فسجل أيضاً مسار SSH/bastion الذي سيستخدم للنفق.
- سجل الدخول إلى IBM i، وأنشئ حساب DSE للقراءة فقط ومكتبة الاختبار الموضحين أدناه، ثم شغل host servers.
- تحقق من الشبكة من Windows قبل إعداد DSE.
بنيتان موصى بهما للتحقق:
مسار مباشر/خاص:
Windows DSE -> IBM i host -> IBM i Access host servers -> Db2 for i
SSH tunnel:
Windows DSE -> منافذ محولة على 127.0.0.1 -> SSH IBM i/bastion -> host servers -> Db2 for i
فوترة PowerVS وترخيص IBM i منفصلان عن DSE. أوقف أو احذف موارد المختبر المؤقتة عند انتهاء الحاجة إليها وفق سياسة المؤسسة.
4. تسجيل الدخول إلى IBM i
استخدم 5250 أو وحدة التحكم الخاصة بالبيئة. استخدم حسابا إداريا فقط للخطوات التي تتطلب ذلك فعليا.

5. تشغيل host servers
STRHOSTSVR SERVER(*ALL)
إذا كنت تستخدم SSH tunnel:
STRTCPSVR SERVER(*SSHD)
المنافذ الشائعة بدون TLS هي 449 و8470 و8471 و8472 و8473 و8474 و8475 و8476. عادة يستخدم database المنفذ 8471 وsign-on المنفذ 8476. قد تستخدم مؤسستك منافذ SSL أو شبكة خاصة.
6. إنشاء مستخدم اختبار
CRTUSRPRF USRPRF(DSELAB) PASSWORD(<temporary-password>) USRCLS(*USER) STATUS(*ENABLED) TEXT('DSE read-only test user')
القيمة <temporary-password> مجرد placeholder. تأكد من أن الحساب enabled وكلمة المرور غير منتهية وأن الحساب لا يملك صلاحيات زائدة.
7. إنشاء مكتبة الاختبار
CRTLIB LIB(DSETEST) TEXT('DSE connector validation')
GRTOBJAUT OBJ(DSETEST) OBJTYPE(*LIB) USER(DSELAB) AUT(*USE)
8. إنشاء جدول SQL للتحقق
استخدم Run SQL Scripts في IBM i Access Client Solutions أو STRSQL إذا كان متاحا.
CREATE TABLE DSETEST.CUSTOMER
(
CUSTOMER_ID INTEGER NOT NULL,
NAME VARCHAR(80) NOT NULL,
STATUS VARCHAR(20) NOT NULL,
CREDIT_LIMIT DECIMAL(12,2),
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (CUSTOMER_ID)
);

INSERT INTO DSETEST.CUSTOMER (CUSTOMER_ID, NAME, STATUS, CREDIT_LIMIT)
VALUES
(1001, 'ARCO INTERNATIONAL', 'ACTIVE', 25000.00),
(1002, 'NORTHWIND IBM I LAB', 'ACTIVE', 15000.00),
(1003, 'CONTOSO LEGACY', 'HOLD', 5000.00);
GRANT SELECT ON DSETEST.CUSTOMER TO USER DSELAB;
SELECT * FROM DSETEST.CUSTOMER ORDER BY CUSTOMER_ID;
مثال على بيانات جدول التحقق في IBM i:

9. تثبيت IBM i ODBC على Windows
ثبت IBM i Access Client Solutions Windows Application Package الذي يتضمن برنامج التشغيل 64-bit. افتح:
C:\Windows\System32\odbcad32.exe
وتأكد من وجود:
IBM i Access ODBC Driver
في Windows 64-bit، الملف الموجود تحت System32 هو ODBC Administrator 64-bit.
يجب أن يظهر IBM i Access ODBC Driver في ODBC Administrator ذي 64 بت كما في المثال:

10. اتصال مباشر أو SSH tunnel
اتصال مباشر:
Test-NetConnection <ibmi-host> -Port 8471
Test-NetConnection <ibmi-host> -Port 8476
نفق SSH:
ssh -N -T `
-L 449:127.0.0.1:449 `
-L 8470:127.0.0.1:8470 `
-L 8471:127.0.0.1:8471 `
-L 8472:127.0.0.1:8472 `
-L 8473:127.0.0.1:8473 `
-L 8474:127.0.0.1:8474 `
-L 8475:127.0.0.1:8475 `
-L 8476:127.0.0.1:8476 `
-o ExitOnForwardFailure=yes `
-o ServerAliveInterval=15 `
-o ServerAliveCountMax=3 `
<ssh-user>@<ibmi-public-or-bastion-host>
اترك نافذة PowerShell مفتوحة. عدم ظهور output بعد نجاح ssh -N -T أمر طبيعي.
Test-NetConnection 127.0.0.1 -Port 449
Test-NetConnection 127.0.0.1 -Port 8471
Test-NetConnection 127.0.0.1 -Port 8476
11. إنشاء System DSN 64-bit
في System DSN أضف IBM i Access ODBC Driver. اسم مقترح:
DSE_IBMI_DEV
للاتصال المباشر استخدم host/IP الحقيقي. مع tunnel استخدم 127.0.0.1.
أضف المكتبات المطلوبة:
DBQ=DSETEST,QGPL;LIBVIEW=0;
إذا نجح الاتصال ولكن DSE يعرض QGPL فقط، راجع DBQ أولا.
12. اختبار ODBC خارج DSE
$cred = Get-Credential -UserName 'DSELAB' -Message 'IBM i ODBC credentials'
$password = $cred.GetNetworkCredential().Password
$connectionString = "DSN=DSE_IBMI_DEV;UID=$($cred.UserName);PWD=$password;DBQ=DSETEST,QGPL;LIBVIEW=0;"
$conn = New-Object System.Data.Odbc.OdbcConnection($connectionString)
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = 'SELECT CUSTOMER_ID, NAME, STATUS, CREDIT_LIMIT FROM DSETEST.CUSTOMER ORDER BY CUSTOMER_ID'
$reader = $cmd.ExecuteReader()
$table = New-Object System.Data.DataTable
$table.Load($reader)
$table | Format-Table -AutoSize
$conn.Close()
إذا فشل هذا الاختبار، أصلح الشبكة أو driver أو الحساب أو الصلاحيات قبل الانتقال إلى DSE.
13. إعداد IBM i في DSE
اختر Mainframe → IBM i / AS400 (ODBC configure) ثم Edit connection.
DSN=DSE_IBMI_DEV;UID=DSELAB;PWD=<password>;DBQ=DSETEST,QGPL;LIBVIEW=0;
أو:
Driver={IBM i Access ODBC Driver};System=<ibmi-host>;Uid=DSELAB;Pwd=<password>;DBQ=DSETEST,QGPL;LIBVIEW=0;
مع SSH tunnel يكون host عادة 127.0.0.1. اختر IBM i / AS400 وليس Generic ODBC لأن connector الخاص بـ IBM i يحتوي على معالجة metadata وpreview مخصصة.
14. التحقق داخل DSE
- Test connection
- Load tables
- ابحث عن
DSETEST.CUSTOMER - تحقق من Table info
- افتح Preview
- اختر صفا وافتح Row details
- شغل استعلاما
SELECT * FROM "DSETEST"."CUSTOMER" FETCH FIRST 100 ROWS ONLY
يحتوي connector الخاص بـ IBM i على توافق مع بعض native/DDS objects التي ترفض FETCH FIRST؛ يمكن أن يطبق DSE حد الصفوف على client بدلا من server.
15. استكشاف أخطاء IBM i
- Test connection = False: driver 64-bit، DSN 64-bit، host/tunnel، المنافذ 8471/8476،
STRHOSTSVR، المستخدم وكلمة المرور. - ssh -N -T يبدو متوقفا: هذا طبيعي؛ اختبر ports المحلية في نافذة أخرى.
- كلمة المرور منتهية: سجل الدخول بالطريقة العادية إلى IBM i وغير كلمة المرور.
- يظهر QGPL فقط: استخدم
DBQ=DSETEST,QGPL;LIBVIEW=0;ثم reload. - الجدول غير ظاهر: تحقق من
*USEوSELECTوDBQ. - SQL0104 / FETCH FIRST: تأكد من استخدام IBM i / AS400 وليس Generic ODBC، ولا تضف
;إلى statement ODBC يدوي واحد.
IBM z/OS Db2
16. المتطلبات
تحتاج إلى z/OS يمكن الوصول إليه، Db2 LOCATION، منفذ DRDA، حساب Db2، IBM Data Server Driver for ODBC and CLI 64-bit ومسار ترخيص Db2 Connect صالح.
Driver={IBM DB2 ODBC DRIVER};Database=<location>;Hostname=<zos-host>;Port=<drda-port>;Protocol=TCPIP;Uid=<user>;Pwd=<password>;
اختبر driver والترخيص خارج DSE أولا، ثم Test connection وLoad tables وPreview وRow details والاستعلام.
VSAM و IMS و CICS
17. أوضاع المحول
ODBC:
Adapter=ODBC;ConnectionString="DSN=YOUR_VSAM_ADAPTER;Uid=<user>;Pwd=<password>";
REST:
Adapter=REST;BaseUrl=https://<adapter-host>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;
لا يحتوي DSE على native protocol لـ VSAM/IMS/CICS؛ يجب أن يوفر middleware طبقة ODBC أو REST.
18. عقد REST
GET /healthGET /dse/objectsGET /dse/objects/{name}/columnsPOST /dse/query
{
"command": "SELECT * FROM CICSDEV.CUSTOMER_SERVICE FETCH FIRST 100 ROWS ONLY;",
"sourceType": "CICS"
}
يدعم DSE أيضا get /some/path;. خيارات authentication: BearerToken، OAuth2 (TokenUrl, ClientId, ClientSecret, Scope)، Basic أو ApiKey.
19. CICS
Adapter=REST;BaseUrl=https://<cics-adapter>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;


20. VSAM
استخدم ODBC virtualization أو REST. لا يوجد raw VSAM native access داخل DSE.

يجب أن يحول adapter المفاتيح وrecord layouts/copybooks والترميز إلى عقد DSE tabular/JSON.
21. IMS
Adapter=REST;BaseUrl=https://<ims-adapter>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;
أو:
Adapter=ODBC;ConnectionString="DSN=YOUR_IMS_ADAPTER;Uid=<user>;Pwd=<password>";
تحدد طبقة middleware كيفية تحويل segments/hierarchies في IMS إلى objects وfields يقرأها DSE.
مثال على نتيجة استعلام IMS عبر محول DSE:

قائمة التحقق
22. IBM i
- driver 64-bit مثبت
- network/tunnel مستقر
- host servers تعمل
- حساب read-only صالح
- اختبار ODBC الخارجي ناجح
- DSE Test connection ناجح
- الجدول المطلوب ظاهر
- columns وPreview وRow details والاستعلام تعمل
- لا توجد secrets في الوثائق/source control
23. z/OS Db2
- endpoint حقيقي لـ Db2 for z/OS
- ODBC/CLI 64-bit
- ترخيص Db2 Connect مؤكد
- LOCATION/DRDA مؤكدان
- external test وDSE ناجحان
24. VSAM / IMS / CICS
- adapter معتمد
- health/connectivity ناجح
- objects/metadata مستقرة
- query يعيد JSON/tabular data قابلة للتحويل
- authentication آمنة
- test/load/metadata/preview/query في DSE ناجحة
عند طلب الدعم، أرسل إصدار DSE ونوع المصدر وconnection string بعد إزالة الأسرار واسم/إصدار driver ونوع الشبكة ونص الخطأ والـ logs ونتيجة الاختبار نفسه خارج DSE. لا ترسل كلمة مرور أو SSH private key أو OAuth secret.