الحد الأقصى لطول وسيطة سطر الأوامر التي يمكن تمريرها إلى SQL*Plus(من Linux C Shell)؟




command-line-arguments sqlplus (2)

أتصل بـ SQL * Plus من Linux C Shell:

sqlplus username/password @file.sql var1 var2 var3

إذا قمت بتمرير سلسلة كملف var1 ، var1 متى يمكن أن تكون هذه السلسلة؟

هل يحكمها نظام التشغيل؟ في هذه الحالة:

Linux version 2.6.9-100.ELsmp ([email protected]) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)) #1 SMP Tue Feb 1 12:17:32 EST 2011

التحديث: أسفر الاختبار التجريبي عن النتائج التالية:

  • أعطى وسيطة سطر الأوامر من 5200 حرف الخطأ "Word طويل جداً."
  • 1300 أحرف ثم إنتاج خطأ SQL * Plus ، "بداية سلسلة" (000796384 ... "طويل جداً. الحد الأقصى للحجم 239 حرفاً."
  • حالما حصلت على أقل من 239 حرف كل شيء كان جيدا.

أعتقد أنني سوف تستخدم sqlldr للتغلب على هذا.


جئت عبر "كم من الوقت قائمة يمكن أن تتخذ نواة على سطر الأوامر قبل أن يختنق؟":

getconf ARG_MAX

الذي يعطي ما يلي على النظام الخاص بي:

131072

حاول مع: xargs --show-limits

Your environment variables take up 2446 bytes
POSIX upper limit on argument length (this system): 2092658
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2090212
Size of command buffer we are actually using: 131072

لا يوجد حد لكل حجة ، ولكن إجمالي طول سطر الأوامر بالكامل. في نظامي (فيدورا 15 / زد) أقرب إلى 2 ميغابايت. (السطر 4).







csh