الكون استرداد كيف يمكنني الاستعلام عن ملف لجميع قيم أعمدةه؟

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

سؤال

نوع من المتابعة سؤالي الذي تمت الإجابة عليه ذاتيًا حول العثور على أسماء الأعمدة.

في الكون ، لا يمكنك الاستعلام عن ملف لجميع أعمدةه ما لم @ تم تعيين عبارة في قاموس ملفك على جميع أعمدة الجداول. إذا لم يكن الأمر كذلك ، كيف يمكنك الاستعلام عن جدول لجميع قيم أعمدةها؟

حتى أتمكن من الحصول على إجمالي قائمة الأعمدة (اسم العمود واسم العرض) باستخدام:

LIST DICT file NAME

سيؤدي هذا إلى إرجاع قائمة جميع الأعمدة وأسماء العرض الخاصة بها. كيف يمكنني بعد ذلك الاستعلام عن الجدول لجميع الأعمدة التي لديها؟

LIST file

سوف يستفسر فقط عن LIST file @id (ID هو الشيء الوحيد في @).

تحديثوجدت مدونة - شخص يتنفس حي يتم استخدامه باستخدام نسخة من الكون أقدم من لي !! حيث يشكو من نفس الشيء ، لكنه يقول إنه لا يوجد حل خجول من التحديث @ مع كل الأعمدة ، أرجوك الله يثبت أنه (دان واتس) خطأ.

ماذا لو كان لديك جدول عمود 200 وتريد تحديد * لإرجاع جميع الأعمدة 200؟ آسف ، ولكن سيتعين عليك إدخال جميع أسماء الأعمدة 200 في هذا السجل "@". وإذا قمت بإضافة عمود أو حذفه أو إعادة تسميته ، فسيتعين عليك تذكر تحرير سجل "@". أشعر بألمك! يعود هذا النهج المرهق إلى سائق ODBC الخاص بـ Universe ، وأفترض أنهم لا يستطيعون تغييره الآن دون كسر الكثير من التطبيقات. يمكنك العثور على التفاصيل الموضحة في IBM-ESE الغامضة في دليل الكون ODBC.

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

المحلول

القائمة كلها لا تعمل على الكون.

شيء واحد يمكنك القيام به هو LIST.ITEM أو INTEM بناء اعتمادًا على نكهتك. سيدرج هذا كل سمة في الملف الذي يحتوي على بيانات مثل هذا:

>LIST.ITEM ACTIVITY
LIST.ITEM ACTIVITY 06:52:10pm  14 Jan 2010  PAGE    1

1
001 LEXMARK MULTI PRINT
002 THD
003 PJ
007 10355
009 Y
010 CAGNEW
011 15349
012 52111
014 1ý2ý3ý4ý5
015 Deinstall Make/ModelýDeinstall LocationýSigned Off ByýData/Voice AvailableýR
elocated Location
016 1ý2ý3ý4ý5

2
001 OMN
002 OMN
003 PJ
004 OMN*8437
005 6
009 N
010 CAGNEW
011 15349
012 51958

>  

إذا كنت تتطلع إلى القيام بشيء ما مع البيانات ، فاكتب برنامجًا وافعل شيئًا كهذا:

OPEN "ACTIVITY" TO F.ACTIVITY ELSE STOP
SELECT F.ACTIVITY
LOOP
    READNEXT ID ELSE EXIT
    READ R.ACTIVITY FROM F.ACTIVITY, ID THEN
    ..................
    END
REPEAT

نصائح أخرى

قائمة. اسم الملف. سيؤدي هذا إلى إرجاع جميع القيم

محاولة

LIST file ALL

بالطبع ، هناك حد لعدد يمكن أن يفعله بالفعل ، لذلك قد يتم تقديمه. ماذا تريد بالفعل تحقيقه؟

أيضا ، بشكل عام ، يجب عليك زيارة موقع U2 الخاص بـ Rocket Software. سوف تكون قادرًا على تنزيل المجموعة الكاملة هناك.

هناك أيضًا قائمة بريدية تعطي عادة ردود سريعة لمساعدة الناس. يمكنك العثور على تفاصيل ذلك في موقع مجموعة مستخدم U2.

بضع نقاط:

مزود IBM's Ado.net دان يشير إلى لن يكون جزءًا من الكون (أو Unidata) للمضي قدمًا. تم بيع أعمال IBM U2 (بما في ذلك الكون) إلى Rocket Software في الخريف الماضي ، ولم تنقل بعض القطع.

ثانياً ، هناك بعض العبارات القياسية للقواميس. @ هو القائمة الافتراضية إلى CRT. @SELECT يحدد الحقول التي تم إرجاعها من SQL Style SELECT.

>ED DICT VOC @SELECT
New record.

----: I
0001= PH
0002= NAME TYPE
0003= 
Bottom at line 2.
----: FI
"@SELECT" filed in file "DICT VOC".
>SELECT * FROM VOC;
NAME.......... TYPE

VERIFY.SQL     V
DIVX           V
INVISIBLE      K
QUIT.KEY       X
LEADING        K
DELETE.LIST    V
...

بالنسبة لمعظم عمليات تثبيت الكون/اختيار ، عادةً ما يقوم المبرمجون ببناء بعض الطرق المختصرة الموحدة لإمكانية الوصول إلى البيانات المخصصة عبر الاستدعاء/الاسترداد/اللغة الإنجليزية/القائمة أسهل. لقد رأيت في كثير من الأحيان إدخالات في ملف VOC مع أسماء مثل F1 و F2 و F3 وما إلى ذلك على شكل قواميس "S" أو "D". عادةً ما يكونون شيئًا قياسيًا مثل 10 أحرف واسعة ويترك مبررًا مع عمود يتجه مثل "الحقل 1". باستخدام "*A1" و "*A2" وما شابه ذلك يبدو أن معيارًا آخر تطورت لأسماء الحقول العامة.

يمكنك استخدامها في أي أمر قائمة وإذا لم يكن لدى قاموس الملفات F1 (أو أي شيء آخر) ، فسيستخدم واحد من ملف VOC. لذلك أمر مثل:

قائمة {Filename} F1 F2 F3

سيعمل. إنه لأمر رائع لأنه يتعين عليك فقط إعداده مرة واحدة وبعد ذلك يكون متاحًا في أي مكان لا ترغب في قضاء الوقت في البحث عن أسماء القاموس.

أيضًا ، لا يوجد سبب لعدم قدرتك على إعداد عنصر قاموس من نوع المجموعة في VOC يسمى "All.fields" واغنية عناصر نوع Gazillion "F1" هناك. انها تبدو مثل هذا:

001: ph 002: F1 F2 F3 F4 F5 F6 F7 F8 F9 {....} F200

وهو ما سيبدو عليه عنصر القاموس الخاص بك إلى حد كبير إلا أنه سيكون له جميع عناصر القاموس المناسبة فيه. لهذه المسألة ، يمكنك إنشاء عنصر قاموس "All.fields" في قاموس الملف الفعلي ووضع عناصر القاموس المناسبة مع كل التنسيق المناسب هناك.

التحذير مع هذا هو أنه لا يوجد ما يضمن أن قاموس الأشعة فوق البنفسجية سيكون كاملًا ودقيقًا لأنه لا توجد قواعد في أي مكان تجبر المبرمجين على إنشاء عناصر القاموس لحقول البيانات التي يستخدمونها. إذا كنت تهتم كثيرًا ، فستحتاج إلى كتابة برنامج للمسح الضوئي من خلال الملف وتحليل البيانات لإنشاء تقرير عن كيفية عمل الحقول بالفعل.

إذا تمكنت من الوصول إلى النقطة التي يكون فيها القاموس موثوقًا به ، فمن المفيد التأكد من أن كل حقل يحتوي على عنصر قاموس واحد فقط "A". بعد ذلك ، من التافهة كتابة برنامج يقوم باختيار على القاموس لجميع سجلات "النوع" وإنشاء عنصر قاموس مجموعة "All.field" يسردها جميعًا. ثم فقط تأكد من أن كل من يضيف عناصر القاموس البديلة لتنسيق أو تحويلات مختلفة فقط تستخدم "S" و "I" و "D" عناصر النوع.

أنا شخصياً أجد تحميل عنصر @ القاموس مع كل حقل مزعج الممكن عند القيام بالأشياء اليومية داخل بيئة الاختيار. عادةً ما تريد أشياء تتناسب بشكل جيد عبر شاشة 80 عمودًا مع خيارات منفردة ومجموعتها منطقية. أفضل أن أرى أشياء SQL تم إعدادها وتسميتها وفقًا لذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top