sql-server - एक एक्जिक्यूट SQL कार्य का उपयोग कर पैरामीटर मानचित्रण




ssis etl temp-tables (3)

बस Expressions टैब पर जाएं, जैसा कि आपने प्रदान की गई स्क्रीनशॉट में दिखाया गया है और SqlStatmentSource संपत्ति के लिए निम्नलिखित अभिव्यक्ति लिखें

"IF OBJECT_ID('TEMPDB.DBO.#TEMP') IS NOT NULL
DROP TABLE #TEMP
GO

CREATE TABLE #TEMP 
      ( ... );

INSERT INTO #TEMP
      SELECT (...)
  FROM table t1 INNER JOIN table2 t2
  ON t1.id = t2.table1_id
WHERE t1.value = '"  +  @[User::Where_Variable]  +   "'"

मैं एक अस्थायी तालिका बनाने और एक foreach पाश कंटेनर के अंदर एक निष्पादन एसक्यूएल कार्य के भीतर अस्थायी तालिका में डेटा डालने की कोशिश कर रहा हूँ।

यहां एसक्यूएल कार्य हैं

IF OBJECT_ID('TEMPDB.DBO.#TEMP') IS NOT NULL
DROP TABLE #TEMP
GO

CREATE TABLE #TEMP 
      ( ... );

INSERT INTO #TEMP
      SELECT (...)
  FROM table t1 INNER JOIN table2 t2
  ON t1.id = t2.table1_id
WHERE t1.value = ?

मुझे WHERE खंड में एक पैरामीटर होना है, लेकिन जब भी मैं इसे जोड़ने का प्रयास करता हूं मुझे यह त्रुटि मिलती है

"एकाधिक-चरण ओएलई डीबी ऑपरेशन त्रुटिपूर्णता उत्पन्न हुई। प्रत्येक ओएलई डीबी स्थिति मान की जांच करें, यदि उपलब्ध हो। कोई काम नहीं किया गया है।" संभव विफलता कारण: क्वेरी के साथ समस्या, "ResultSet" संपत्ति ठीक से सेट नहीं है, मापदंडों सही ढंग से सेट नहीं हैं, या कनेक्शन सही रूप से स्थापित नहीं है। "

जब मैं कड़ी मेहनत करता हूं, तो कहां क्लॉज में मान पूरी तरह से काम करता है

मेरे पैरामीटर मैपिंग में मैं क्या कर रहा हूं?

यहां मेरे पैरामीटर मेपिंग सेटिंग हैं I

इसके अलावा मैं एक संग्रहीत कार्यविधि का उपयोग करने में सक्षम नहीं हूं।


अपने संपूर्ण एसक्यूएल स्क्रिप्ट के साथ एक चर को व्यवस्थित करें, और अपने SQLSourceType के रूप में अपने Execute SQL कार्य में चर का उपयोग करें।


यदि डिफ़ॉल्ट शून्य है, तो:

  1. SQL सर्वर में, लक्षित तालिका का पेड़ खोलें
  2. राइट क्लिक करें "कॉलम" ==> New Column
  3. कॉलम नाम Select Type , Select Type , और नल को चेक करें चेकबॉक्स को चेक करें
  4. मेनू बार से, Save क्लिक Save

किया हुआ!





sql sql-server ssis etl temp-tables