संग्रहीत प्रक्रियाओं का उपयोग करके थोक में सम्मिलित करना: समस्या निवारण
संग्रहीत प्रक्रिया का उपयोग करके डेटा को थोक में सम्मिलित करने के प्रयास में, एक डेवलपर को सिंटैक्स त्रुटियों का सामना करना पड़ा। लक्ष्य एक कार्यशील BULK INSERT क्वेरी को एक प्रक्रिया में दोहराना था। यहां समस्या और उसके समाधान का विश्लेषण दिया गया है।
संग्रहीत प्रक्रिया के भीतर BULK INSERT कमांड में एक फ़ाइल नाम को एक चर के रूप में पास करने का प्रयास करने से समस्या उत्पन्न होती है। दुर्भाग्य से, यह BULK INSERT द्वारा एक असमर्थित ऑपरेशन है।
यहां एक वेरिएबल का उपयोग करके असफल प्रयास का एक उदाहरण दिया गया है:
DECLARE @filename VARCHAR(255) SET @filename = 'e:\5-digit Commercial.csv' BULK INSERT ZIPCodes FROM @filename WITH
इसके बजाय, BULK INSERT कमांड एक हार्ड-कोडित फ़ाइल पथ की अपेक्षा करता है। इस सीमा के आसपास काम करने के लिए, BULK INSERT स्टेटमेंट को एक निश्चित फ़ाइल नाम के साथ एक स्ट्रिंग के रूप में बनाने और इसे गतिशील SQL के रूप में निष्पादित करने पर विचार करें।
DECLARE @filepath NVARCHAR(500) SET @filepath = N'e:\5-digit Commercial.csv' DECLARE @bulkinsert NVARCHAR(2000) SET @bulkinsert = N'BULK INSERT ZIPCodes FROM ''' @filepath N''' WITH (FIRSTROW = 2, FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'')' EXEC sp_executesql @bulkinsert
डायनामिक SQL का उपयोग करके, निर्मित कथन को निष्पादित किया जा सकता है, मूल संग्रहीत प्रक्रिया कार्यान्वयन में आने वाली सिंटैक्स त्रुटियों को हल किया जा सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3