मैं कॉल ऑपरेटर का उपयोग करता हूं, & , जैसा कि कीथ हिल ने इस प्रश्न के साथ सुझाव दिया है कि स्पेस और कोट्स के साथ पैरामीटर के साथ पावरशेल में एक EXE फ़ाइल कैसे चलाएं।
& 'path\sqlplus.exe' 'system/example@sqldat.com as sysdba'
मैंने रिक्त स्थान के कारण उपयोगकर्ता नाम, पासवर्ड को उद्धरणों में रखा है।
एक स्क्रिप्ट शुरू करने के लिए, मैं निम्नानुसार एक और पैरामीटर जोड़ता हूं:
& 'path\sqlplus.exe' 'system/example@sqldat.com as sysdba' '@my_script.sql'
यदि आप ORA-12154 त्रुटि प्राप्त कर रहे हैं, और आप जानते हैं कि अन्य उपयोगकर्ताओं ने कनेक्शन स्थापित किए हैं (जिसका अर्थ है कि डेटाबेस श्रोता ठीक से चल रहा है); मैं तब जांच करूंगा कि क्या SQL * प्लस मेरी tnsname फ़ाइल ढूंढ सकता है।
मेरा पहला काम यह देखना होगा कि क्या मैं विंडोज cmd.exe में निम्नानुसार tnsping कर सकता हूं:
tnsping orcl
यह पुष्टि करेगा कि एक कनेक्शन स्थापित किया जा सकता है (या स्थापित नहीं किया जा सकता)।
यदि ऐसा नहीं हो सकता है, तो मैं यह देखने के लिए जांच करूंगा कि पर्यावरण चर, ORACLE_HOME, सेट है या नहीं। SQL*Plus इसका उपयोग tnsname.ora फ़ाइल खोजने के लिए करता है।
यदि यह सेट नहीं है, तो मैं इस कथन को पावरशेल में निष्पादित करूंगा (इस पर्यावरण चर को स्थापित करने के लिए):
[Environment]::SetEnvironmentVariable("ORACLE_HOME", "C:\app\Administrator\product\11.2.0\client_1" , "User")
इसके बाद, मैं tnsping (ऊपर पहचाना गया) के लिए पुनः प्रयास करूंगा।
एक बार सफल होने पर, मैं ऊपर दिए गए स्क्रिप्ट रनिंग कमांड को निष्पादित करने का पुनः प्रयास करूंगा।