إدراج مختلطة db2 المجال مع كل من ألفا سلاسل معبأة عشرية

StackOverflow https://stackoverflow.com//questions/21003167

سؤال

وفيما يلي جدول/ملف تخطيط "SH.حفلة موسيقية" ، db2 الجدول في AS/400 هي المسؤولة عن تقديم الشهري تعزيز البنود في جميع أنحاء النظام.أي شخص ليس على دراية نموذجية تخطيطات الجدول يجب أن نعرف أن هناك عادة ثلاثة أعمدة:F00001, K00001 و F00002.وأحيانا يظهر في بلدنا (K00002).في نظامنا ، F00002 عادة ما يحمل متعددة الحقول الفرعية التي قدمت اسم موضع ، وطول أنواع بيانات.أي شيء في عمود الملاحظات المسمى " زغب " يعني تصفير أو متباعدة في EBCDIC الشخصيات لذا من غير المهم من البيانات وجهة النظر ولكن لا يزال يحتاج إلى أن يكون هناك بشكل صحيح.

        Field   Pos.  Len.  Name      Type     Notes
        ---------------------------------------------
        F00001    1     2   MACT      Alpha    Activity Code, Always 1 or 9 (active/inactive)
        K00001    1    20   MITEM     Alpha    Item Number
        K00001   21     2   MP        Alpha    Unknown title, Always 'P'
        K00001   23     2   MPITCL    Alpha    Unknown title, Always 'P' or 'I'
        F00002    1     8   MSTDAT    Integer  Promotion Start Date, MMDDYY0F
        F00002    9     8   MEXDAT    Integer  Promotion End Date, MMDDYY0F
        F00002   17     8   MLIST     Decimal  Amount to be subtracted from original price
        F00002   25     8   MRETAL    Decimal  Fluff, 0000000f
        F00002   33     8   MCOST     Decimal  Fluff, 0000000f
        F00002   41    10   MQTY      Decimal  Fluff, 000000000f
        F00002   51     6   MPCHNG    Integer  Fluff, 00000f
        F00002   57    12   MNPEFT    Alpha    Fluff, 404040404040
        F00002   69     8   MNSTDT    Integer  Fluff, 0000000f
        F00002   77     8   MNEXDT    Integer  Fluff, 0000000f
        F00002   85     8   MNLST     Decimal  Fluff, 0000000f
        F00002   93     8   MPNRTL    Integer  Fluff, 0000000f
        F00002  101     8   MNCOST    Decimal  Fluff, 0000000f
        F00002  109     8   ZZ14      Alpha    Fluff, 40404040
        F00002  117     8   MALPHA    Alpha    Fluff, 40404040
        F00002  125   170   ZZ64      Alpha    Fluff, 40404040404040...

أواجه مشكلات إدراج تلك تعزيز تواريخ البدء/الانتهاء.

إن إدراج البيانات في عمود F00002 كسلسلة, تلقائيا يحول إلى EBCDIC الأرقام:

    INSERT INTO "SH.PROM" (F00001,K00001,F00002) VALUES ('1','0000620311PP','0201140F0228140F...')

( ***زائدة النقاط على F00002 هو إدراج البيانات يعني بقية يلي ملف/تخطيط الجدول أعلاه.)

و F00002 كعدد فقط أن تحاول ذلك:

    INSERT INTO "SH.PROM" (F00001,K00001,F00002) VALUES ('1','0000620311PP',0201140...)

العمود يغفل اليسار مبطن صفر وتحولها إلى EBCDIC الشخصيات مرة أخرى.

هنا هو مثال على القائمة F00002 الميدانية فضلا عن اثنين من المفيد SquirrelShots :) (ويعرف أيضا باسم SQL السنجاب لقطة الشاشة) أولا الثاني :

  08  01  13  0f  01  31  14  0f  00  00  38  0f  00  00  00  0f  00  00  00  0f  00  00  06  80  0f  00  00  0f  f0  f0  f0  f0  f0  f0  00  00  00  0f  00  00  00  0f  00  00  00  0f  00  00  00  0f  00  00  00  0f  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  

كيف يمكنني إدراج هذا F00002 المجال بحيث مخازن البيانات بشكل صحيح ؟

هل كانت مفيدة؟

المحلول

الحل الصحيح يكون خارجيا وصف الملف باستخدام بيانات الوصف المواصفات (DDS).

البرامج القديمة لن يكون هناك مشكلة في الوصول خارجيا وصف الملف.

مرة واحدة يتم خارجيا وصفها يمكنك الوصول إلى الحقول عادة والسماح التعامل مع قاعدة البيانات من نوع التحويل.

هنا عينة للحصول على انك بدأته.دون الفعلية مواصفات المدخلات من مصدر البرنامج خمنت في المنازل العشرية على الحقول الرقمية.

A          R PROM
A            MACT           2A
A            MITEM         20A
A            MP             2A
A            MPITCL         2A
A            MSTDAT         8S 0
A            MEXDAT         8S 0
A            MLIST          8S 2
A            MRETAL         8S 2
A            MCOST          8S 2
A            MQTY          10S 0
A            MPCHNG         6S 0
A            MNPEFT        12A
A            MNSTDT         8S 0
A            MNEXDT         8S 0
A            MNLST          8S 2
A            MPNRTL         8S 2
A            MNCOST         8S 2
A            ZZ14           8A
A            MALPHA         8A
A            ZZ64         170A
A          K MITEM
A          K MP
A          K MPITCL
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top