SQL प्लस में "$" का उपयोग कैसे करें?


0

मैं निम्नलिखित समस्या का सामना कर रहा हूँ।

जब मैं अपने SLES में sqlplus में निम्न कमांड निष्पादित करने का प्रयास करता हूं:

sqlplus -S user/password@balancer.domain.cl <<EOF
SELECT INSTANCE_NUMBER, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS, BLOCKED 
FROM GV$INSTANCE;
EOF

यह मुझे निम्न त्रुटि दिखाता है:

SQL> SELECT INSTANCE_NUMBER, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS, BLOCKED FROM GVINSTANCE
                                                                                       *
ERROR at line 1:
ORA-00942: table or view does not exist

मुझे लगता है कि यह है क्योंकि क्वेरी में "$" शामिल है, लेकिन मुझे यकीन नहीं है।

क्या Linux के उपयोग से sqlplus क्लाइंट में OS के रूप में उस कमांड को चलाने का कोई तरीका है?

अगर मैं कुछ गलत कर रहा हूं तो कृपया मुझे सही दिशा में इंगित करें।


नामांकन विवरण।

  • OS = SuSE Linux एंटरप्राइज़ सर्वर 11 SP3
  • ओरेकल इंस्टेंट क्लाइंट = रिलीज़ 12.1.0.2.0
  • SQLPLUS = SQL * प्लस: रिलीज़ 12.1.0.2.0

जवाबों:


1

आपकी शेल सिंटैक्स में कम से कम एक समस्या है:

sqlplus -S user/password@balancer.domain.cl <<EOF
SELECT INSTANCE_NUMBER, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS, BLOCKED 
FROM GV$INSTANCE;
EOF

इसे "यहां-दस्तावेज़" के रूप में संदर्भित किया जाता है, और शेल चर ( $सामान्य रूप से उपसर्ग नाम ) का विस्तार किया जाता है। विस्तार को रोकने के लिए , जैसे, का पहला उपयोग बोलीEOF

sqlplus -S user/password@balancer.domain.cl <<"EOF"
SELECT INSTANCE_NUMBER, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS, BLOCKED 
FROM GV$INSTANCE;
EOF

एक अन्य समस्या तालिका नाम में विशेष चरित्र हो सकती है। आप इसे उद्धृत कर सकते हैं (Oracle को SQL के लिए उपयोग किए जाने वाले कुछ वाक्यविन्यास नियमों को अनदेखा करने के लिए कह सकते हैं)। सुधार इस तरह दिखेगा:

sqlplus -S user/password@balancer.domain.cl <<"EOF"
SELECT INSTANCE_NUMBER, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS, BLOCKED 
FROM "GV$INSTANCE";
EOF

आगे की पढाई:


अपने तेज़ और पूर्ण उत्तर के लिए Ty, कल इसका परीक्षण करें।
फ्रांसिस्को तापिया

एक जादू की तरह काम करता है। अभिविन्यास के लिए बहुत ty, मुझे आशा है कि यह सिंटैक्स को ठीक करने में दूसरों की मदद कर सकता है।
फ्रांसिस्को तापिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.