14

मैं अब कुछ घंटों के लिए "निश्चित" समाधान खोज रहा हूं और यह पता नहीं लगा सकता कि समस्या क्या है, इसलिए उम्मीद है कि कोई मुझे सही दिशा में इंगित कर सकता है।माइक्रोसॉफ्ट के डाटाबेस पब्लिशिंग विज़ार्ड से उत्पन्न स्क्रिप्ट में "गॉ के पास गलत वाक्यविन्यास" त्रुटियों को कैसे ठीक किया जाए?

मैं एक दूरस्थ मशीन पर डेटाबेस (एक एमडीएफ फ़ाइल डीबी) के लिए एक स्क्रिप्ट बनाने की कोशिश कर रहा हूं और स्थानीय स्तर पर एक ही डेटाबेस बनाने के लिए इसका उपयोग करता हूं। मुझे दोनों मशीनों पर विजुअल स्टूडियो 2010 मिला है, इसलिए स्क्रिप्ट उत्पन्न करने के लिए डेटाबेस प्रकाशन विज़ार्ड का उपयोग किया गया।

मैंने अगली बार विजुअल स्टूडियो (स्थानीय एमडीएफ फ़ाइल डीबी) में एक खाली डीबी बनाया और एक नई क्वेरी बनाने के लिए चुना। मैंने प्रतिलिपि बनाई गई स्क्रिप्ट चिपका दी है, लेकिन जब मैं कोशिश करता हूं और इसे चलाता हूं तो मुझे दर्जनों "जाओ के पास गलत वाक्यविन्यास" त्रुटियां मिलती हैं। मुझे यकीन नहीं है कि कुल स्क्रीन में कितनी चेतावनी पॉप-अप बंद हो जाती है। हालांकि यह बहुत कुछ प्रतीत होता है।

मैंने स्क्रिप्ट के शीर्ष पर सभी को छीन लिया और मुझे अभी भी वही त्रुटियां मिलती हैं। अब यह इस तरह दिखता है:

SET ANSI_NULLS ON 

GO 

मुझे अभी भी "जाओ के पास गलत वाक्यविन्यास" त्रुटि मिलती है।

क्या इस उपकरण द्वारा उत्पन्न स्क्रिप्ट के साथ कुछ स्वाभाविक रूप से गलत है या क्या मैं इसके साथ कुछ गलत कर रहा हूं?

रिमोट डीबी 2008 आर 2 है और मेरा स्थानीय सिर्फ सादा 2008 है, इसलिए मैं एमडीएफ फ़ाइल को कॉपी क्यों नहीं करता हूं।

यदि किसी के पास कोई सुझाव है, तो उनका स्वागत होगा।

उत्तर

19
डॉक्स से

:

GO एक Transact SQL कथन नहीं है; यह sqlcmd और osql उपयोगिताओं और SQL सर्वर प्रबंधन स्टूडियो कोड संपादक द्वारा मान्यता प्राप्त एक आदेश है।

या तो स्क्रिप्ट निष्पादित करने या GO आदेशों को छोड़ने के लिए ऐसे टूल का उपयोग करें।

+4

जानकारी के लिए धन्यवाद। मुझे शायद अनुमान लगाया जाना चाहिए कि यह ऐसा कुछ होगा लेकिन मुझे लगता है कि मैं मानसिकता में फंस गया था कि माइक्रोसॉफ्ट एक ऐसा टूल नहीं बनायेगा जो सादा पाठ स्क्रिप्ट उत्पन्न करता है जिसे SQL स्क्रिप्ट के रूप में नहीं चलाया जा सकता है। आह, माइक्रोसॉफ्ट ... –

+0

वास्तविक विडंबना यह है कि वीएस -2010 की डाटाबेस परियोजनाएं * बैच विभाजक के रूप में "जाओ" का समर्थन करें - यह विकल्प संवाद में भी है। यदि आप मुझसे पूछें तो उनमें से बहुत गंदे। – McGuireV10

+0

यहां मुझे जाओ कीवर्ड के विभिन्न उपयोगों की बेहतर समझ के लिए एक अच्छा दृष्टिकोण मिला, मुझे लगता है कि इसे देखने के लिए यह बेकार है: [जाओ के साथ मज़ा] (http://beyondrelational.com/modules/2/blogs/ 70/पदों/10,842/मस्ती के साथ-go.aspx)। –

8

मैं हाल ही में एक ही समस्या में भाग गया और इसे सही जवाब मिला (मुझे लगता है)।

आप कुछ यादृच्छिक एक पंक्ति के अंत में एसक्यूएल सर्वर प्रबंधन स्टूडियो कोड संपादक के अलावा अन्य संपादक में एक प्रश्न बनाते हैं तो आपके मिल सकता है एक कैरेज रिटर्न (\ r) एक कैरेज रिटर्न + लाइन फ़ीड की बजाय चरित्र (\ r \ n)। और यहां तक ​​कि यदि आप लाइन के अंत में DEL कुंजी दबाते हैं और फिर एंटर करें तो यह नहीं बदलेगा।

सीआरएलएफ (\ r \ n) के लिए सीआर (\ r) को प्रतिस्थापित करने के लिए नोटपैड ++ का उपयोग करें - ऑर्डर रखें, यह महत्वपूर्ण है!

+0

+1। वाह। मैंने प्रश्नों के साथ घूमने में 30 मिनट बिताए।जानकारी के लिए धन्यवाद! – gh9