Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

dtexec का उपयोग करके SSIS पैकेज चलाना

पहली त्रुटि मैं संबोधित करूंगा "एक्सेल कनेक्शन प्रबंधक एसएसआईएस के 64-बिट संस्करण में समर्थित नहीं है, क्योंकि कोई ओएलई डीबी प्रदाता उपलब्ध नहीं है।"

आउट ऑफ द बॉक्स एक्सेल ड्राइवर केवल 32 बिट एड्रेस स्पेस में मौजूद होते हैं। बीआईडीएस/एसएसडीटी एक 32 बिट अनुप्रयोग है इसलिए एक्सेल स्रोत और गंतव्य ठीक काम करते हैं। हालांकि, जब आप उन्हें कमांडलाइन/एसक्यूएल एजेंट से चलाते हैं, तो आपको DTEXEC प्रोग्राम के 32 बिट संस्करण का स्पष्ट रूप से उपयोग करने की आवश्यकता होती है।

चरण 1, यह सुनिश्चित करने के लिए होगा कि आप उस सर्वर पर कमांड लाइन से पैकेज चला सकते हैं जिसे एजेंट स्वयं निष्पादित करता है। यह मानते हुए कि आपका SQL सर्वर प्रथागत स्थान पर स्थापित है, संभवतः आपके पास निम्न में से एक DTEXEC.exe आपके लिए उपलब्ध है

C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\DTExec.exe

आप (x86) संस्करण का उपयोग करना चाहेंगे। भविष्य के पाठक, यदि आप विंडोज के 32 संस्करण (विंडोज 2003, हो सकता है) पर हैं, तो पहले 3 आपके लिए उपलब्ध एकमात्र विकल्प होंगे। जैसा कि विवेक के त्रुटि संदेश ने संकेत दिया है, वह 64 बिट मोड में एक SSIS पैकेज निष्पादित कर रहा है।

dtexec एक कमांड-लाइन स्विच प्रदान करता है /X86 आपको 32 और 64 बिट संचालन दोनों के लिए समान निष्पादन योग्य उपयोग करने की अनुमति देने के लिए। झूठ! दस्तावेज़ीकरण इसे कॉल करता है लेकिन दस्तावेज़ीकरण कौन पढ़ता है?

<ब्लॉकक्वॉट>

यह विकल्प केवल SQL सर्वर एजेंट द्वारा उपयोग किया जाता है। यदि आप कमांड प्रॉम्प्ट पर dtexec उपयोगिता चलाते हैं तो इस विकल्प पर ध्यान नहीं दिया जाता है।

तो, आपको स्पष्ट पथ प्रदान करके अपना पैकेज चलाने की आवश्यकता होगी

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe /file C:\folder\GICSReport.dtsx

मुझे आपके आउटपुट में "संरक्षित एक्सएमएल नोड को डिक्रिप्ट करने में विफल" दिखाई देता है और आप यह भी बताते हैं कि आप कॉन्फ़िगरेशन फ़ाइलों का उपयोग कर रहे हैं ताकि आप अपने पैकेजप्रोटेक्शन लेवल को डिफ़ॉल्ट EncryptSensitiveWithUserKey से DontSaveSensitive में बदल सकें। संवेदनशील डेटा (पासवर्ड) के आकस्मिक जोखिम को रोकने के लिए यह सुविधा मौजूद है, लेकिन चूंकि आप पहले से ही इसे कॉन्फिग फाइलों के साथ संभाल रहे हैं, इसलिए यह कोई समस्या नहीं होनी चाहिए। ... यह वास्तव में अन्य पैकेज सुरक्षा स्तरों में से एक से त्रुटि हो सकती है जो अब मैं इसके बारे में सोचता हूं।

किसी भी दर पर, पहले 32 बिट निष्पादन योग्य से चलने का प्रयास करें। यदि वह काम नहीं करता है तो संकेत के अनुसार पैकेज सुरक्षा स्तर को बदलने का प्रयास करें। यदि उनमें से कोई भी पैकेज को अपेक्षित रूप से चलाता है, तो SQL एजेंट से उसी कमांड को चलाने का प्रयास करें।

अगर यह सब काम करता है, तो इसे उत्तर के रूप में चिह्नित करें। यदि नहीं, तो कृपया टिकट को वर्तमान त्रुटि के साथ अपडेट करें और हम और जानकारी मांगेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में टेबल नाम dbo से क्यों शुरू होते हैं?

  2. वर्कर थ्रेड्स के चल रहे समस्या का निवारण

  3. मैं SQL सर्वर में किसी XML मान से तत्व नामों की सूची कैसे प्राप्त कर सकता हूं?

  4. SQL सर्वर एजेंट जॉब (T-SQL) के लिए जॉब स्टेप अपडेट करें

  5. SQL सर्वर में ROW_NUMBER () कैसे काम करता है