2008-09-12 6 views
7

जब ओरेकल OLE DB प्रदाता मैं निम्नलिखित त्रुटि मिलती है का उपयोग कर मानकों के साथ एक SQL क्वेरी में प्रवेश करने की कोशिश कर रहा है:Oracle OLE DB प्रदाता का उपयोग करते समय SQL क्वेरी पैरामीटर मैपिंग समस्याओं को हल करने के लिए कैसे करें?

Parameters cannot be extracted from the SQL command. The provider might not help to parse parameter information from the command. In that case, use the "SQL command from variable" access mode, in which the entire SQL command is stored in a variable.
ADDITIONAL INFORMATION:
Provider cannot derive parameter information and SetParameterInfo has not been called. (Microsoft OLE DB Provider for Oracle)

मैं यहाँ सुझाव निम्नलिखित की कोशिश की है लेकिन काफी समझ में नहीं आता क्या जरूरत है: Parameterized queries against Oracle

कोई विचार?

उत्तर

17

प्रश्न में दिए गए लिंक पर विस्तार करने के लिए:

  1. एक पैकेज चर
  2. पैकेज चर नाम पर डबल क्लिक करें बनाएँ। (यह आपको चर के गुणों तक पहुंचने की अनुमति देता है)
  3. संपत्ति 'EvaluatesExpression' को सही
  4. अभिव्यक्ति निर्माता में क्वेरी दर्ज करें।
  5. गतिशील चर का उपयोग कर 'parametised प्रश्नों' बनाने के लिए भाव बना सकते हैं चर

अभिव्यक्ति बिल्डर से एसक्यूएल कमान करने के लिए OLE DB स्रोत क्वेरी सेट करें।
तो निम्नलिखित 'सामान्य' क्वेरी: आप तो अशक्त हैंडलिंग और डेटा रूपांतरण अभिव्यक्ति बिल्डर जरिए कर सकते हैं

"select * from book where book.BOOK_ID = " + @[User::BookID] 

:

select * from book where book.BOOK_ID = ? 

के रूप में अभिव्यक्ति बिल्डर में लिखा जा सकता है।

+0

यदि आप एक स्ट्रिंग वैरिएबल का उपयोग कर रहे हैं तो आपको पुस्तक से पुस्तक * BOOK_AUTHOR = '"+ @ [उपयोगकर्ता :: AuthorName] +" "से एक उद्धरण" "चयन * से घिरा होना चाहिए। – WiredIn

संबंधित मुद्दे