2011-01-28 16 views
8

मुझे एक SQL सर्वर से डेटा को कॉपी करने के लिए एक SQL सम्मिलित स्क्रिप्ट उत्पन्न करने की आवश्यकता है। तो .NET के साथ, मैं एक SQL सर्वर तालिका को डेटा पढ़ रहा हूं और इसे एक नई टेक्स्ट फ़ाइल में लिख रहा हूं जिसे अन्य डेटा पर इस डेटा को सम्मिलित करने के लिए निष्पादित किया जा सकता है।एक स्क्रिप्ट का उपयोग करके इसे एक डीबी से दूसरे में कॉपी करने के लिए VARBINARY को स्क्रिप्ट कैसे करें?

कॉलम में से एक एक वर्जिनरी (MAX) है।
स्क्रिप्ट के लिए प्राप्त बाइट [] को टेक्स्ट में कैसे बदलना चाहिए और इसे अन्य डेटाबेस पर अभी भी डाला जा सकता है?

एसएसएमएस इस डेटा को हेक्स स्ट्रिंग के रूप में दिखाता है। क्या यह प्रारूप का उपयोग करने के लिए है? मैं निम्नलिखित

BitConverter.ToString(<MyByteArray>).Replace("-", "") 

के साथ इस एक ही प्रारूप प्राप्त कर सकते हैं लेकिन यह कैसे यह फिर से डाला जा सकता है?
मैंने कोशिश की

CONVERT(VARBINARY(MAX), "0xMyHexString") 

यह एक डालने करता है, लेकिन मूल्य स्रोत तालिका में के रूप में ही नहीं है।

+0

क्या कोई कारण है कि आप थोक प्रतिलिपि, या एसएसआईएस, कार्यों का उपयोग नहीं करना चाहते हैं? – Tony

+0

हां, मैं जेनरेट की गई स्क्रिप्ट्स को एक एप्लिकेशन के साथ शामिल कर रहा हूं जो इस स्क्रिप्ट को चलाता है। आवेदन पहले से मौजूद है और सबकुछ ठीक से काम करता है इसलिए मैं इसे बदलना नहीं चाहता हूं। यह अभी तक VARBINARY कॉलम के साथ काम नहीं करता है। – Marc

उत्तर

13

यह पता चला तुम सिर्फ सीधे हेक्स स्ट्रिंग सम्मिलित कर सकते हैं, कुछ भी परिवर्तित करने की कोई जरूरत नहीं :

INSERT TableName (VarBinColumnName) 
VALUES (0xMyHexString) 

बस यह मत पूछें कि मैंने इसका परीक्षण क्यों नहीं किया ...

+0

आपने इसका परीक्षण क्यों नहीं किया? – TPAKTOPA