यहाँ कुछ धारणाएँ बनाना, लेकिन मैं यह मानने जा रहा हूँ कि यह 32 बनाम 64 बिट का मुद्दा है। सत्यापित करने के लिए, कमांड प्रॉम्प्ट (Windows Key, R, cmd.exe या Start, Run, cmd.exe)
से इन दो कमांड को आज़माएं।"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
"C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
पहला आपके पैकेज को 32 बिट मोड में चलाएगा जबकि दूसरा इसे 64 बिट मोड में चलाएगा। यह महत्वपूर्ण है क्योंकि आपके ड्राइवर और आपके द्वारा बनाए गए कोई भी DSN केवल 32/64 बिट की दुनिया में दिखाई देने वाले हैं।
SSDT को ठीक करना
एक बार जब आप पहचान लेते हैं कि आपको किसकी आवश्यकता है, शायद 32 बिट संस्करण, तो आपको यह सुनिश्चित करना होगा कि आपका प्रोजेक्ट उपयुक्त रन-टाइम का उपयोग कर रहा है। अपने प्रोजेक्ट पर राइट क्लिक करें और गुण चुनें और फिर कॉन्फ़िगरेशन गुण के अंतर्गत डिबगिंग टैब पर नेविगेट करें।
Run64BitRuntime मान को बदलने के बाद, मुझे लगता है कि आपका पैकेज SSDT के भीतर से काम करेगा।
SQL एजेंट को ठीक करना
जॉब स्टेप की कड़वाहट को बदलने के लिए आपको मौजूदा SQL एजेंट जॉब को एडिट करना होगा। यह कॉन्फ़िगरेशन टैब के अंतर्गत और फिर उन्नत टैब के अंतर्गत होगा। 32-बिट रनटाइम को चेक/अनचेक करें।
झूठ और धोखा
चौकस लोग देख सकते हैं कि dtexec एक /X86
प्रदान करता है विकल्प। विश्वास मत करो। सही बिट-नेस प्राप्त करने का एकमात्र तरीका स्पष्ट रूप से सही dtexec.exe को कॉल करना है। <ब्लॉकक्वॉट>
यह विकल्प केवल SQL सर्वर एजेंट द्वारा उपयोग किया जाता है। यदि आप कमांड प्रॉम्प्ट पर dtexec उपयोगिता चलाते हैं तो इस विकल्प पर ध्यान नहीं दिया जाता है।