2010-04-20 13 views
14

जब मैं एक परिणाम की तरह ग्रिड में स्थापित किया है:एसएसएमएस परिणाम ग्रिड - सीआरएलएफ कॉपी/पेस्ट में संरक्षित नहीं - कोई बेहतर तकनीक?

SELECT 'line 1 
line 2 
line 3' 

या

SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3' 
एम्बेडेड CRLF के साथ

, ग्रिड में प्रदर्शन के लिए उन्हें रिक्त स्थान के साथ बदलने के लिए प्रकट होता है (मुझे लगता है कि इतना है कि वे करेंगे सभी डेटा प्रदर्शित करें)।

समस्या यह है कि यदि मैं एक स्क्रिप्ट कोड उत्पन्न कर रहा हूं, तो मैं इसे आसानी से काट और पेस्ट नहीं कर सकता। मुझे कर्सर खोलने के लिए कोड को कन्वर्ट करना होगा और प्रासंगिक कॉलम प्रिंट करना होगा ताकि मैं उन्हें टेक्स्ट परिणामों से कॉपी और पेस्ट कर सकूं।

क्या परिणाम ग्रिड से प्रतिलिपि/पेस्ट ऑपरेशन में सीआरएलएफ को संरक्षित करने के लिए कोई आसान कामकाज है?

कारण यह है कि ग्रिड सहायक है कि मैं वर्तमान में एक ही ऑब्जेक्ट के लिए अलग-अलग कॉलम में कई स्क्रिप्ट उत्पन्न कर रहा हूं - एक कॉलम में एक बीसीपी, दूसरे में एक एक्सएमएल प्रारूप फ़ाइल, एक तालिका दूसरे में स्क्रिप्ट बनाती है, आदि ...

+3

+1 यह वास्तव में SQL सर्वर प्रबंधन स्टूडियो में गधे में दर्द है। – Tomalak

उत्तर

2

मेरा मानना ​​है कि इस लेख कई तकनीकों जो उपयोगी हो सकता है है: http://sqlblogcasts.com/blogs/martinbell/archive/2009/10/25/How-to-display-long-text-in-SSMS.aspx

+2

'चयन करें CAST ([field_with_crlf] AS XML)' एसएसएमएस ग्रिड सेल में एक लिंक प्राप्त करने के लिए सीआरएलएफ के साथ एक अलग पृष्ठ पर एक विशिष्ट चाल है .. पंक्तियों की प्रतिलिपि बनाना भी काम करता है। – zanlok

-1

यह एक हैक है, लेकिन इस प्रयास करें: अपने परिणाम एक REPLACE में सेट लपेट

(, ....., CHAR (13) + CHAR (10) CHAR (182)) पंक्ति विराम को बनाए रखने के लिए, आप फिर उन्हें वापस जगह ले सकता है

SELECT 
    REPLACE ('line 1' + CHAR(13) + CHAR(10)+ 'line 2' + CHAR(13) + CHAR(10) + 'line 3' 
      ,CHAR(13)+CHAR(10),CHAR(182) 
      ) 

उत्पादन:

---------------------- 
line 1¶line 2¶line 3 

(1 row(s) affected) 

उन्हें वापस की जगह एसक्यूएल में:

select replace('line 1¶line 2¶line 3',CHAR(182),CHAR(13)+CHAR(10)) 

उत्पादन:

------------------- 
line 1 
line 2 
line 3 

(1 row(s) affected) 

या एक अच्छा पाठ संपादक में।

+0

मैं प्रयास की सराहना करता हूं, लेकिन यह पाठ आउटपुट मोड में एक समय में एक कॉलम चुनने या कर्सर के साथ प्रिंट करने से कम काम नहीं करता है। –

0

एक चीज जो आप कर सकते हैं वह एक फाइल को परिणाम भेजती है, फिर उन संपादकों का उपयोग करें जो आउटपुट को समझने के लिए बेहतर क्षमताओं के लिए फ़ाइल देखने में सक्षम हैं।

15

यह समस्या एक विकल्प के योग के साथ SSMS 16.5 build 13.0.16000.28 में तय किया गया है/कॉपी पर सीआर/वामो की रक्षा (more details) को बचाने (Connect bug) करने के लिए।

  1. उपकरण> विकल्प
  2. ग्रिड करने के लिए
  3. टिक प्रति पर रखें CR/वामो या बचाने
  4. पुनः प्रारंभ SSMS
विस्तृत क्वेरी परिणाम> एसक्यूएल सर्वर> परिणाम

इससे CR, LF, औरका कारण होगा जब आप किसी सेल की प्रतिलिपि बनाते हैं तोको न्यूलाइन के रूप में माना जाएगा।

+9

एक और sidenote: काम शुरू करने से पहले मुझे इस विकल्प का चयन करने के बाद एसएसएमएस को पुनरारंभ करना पड़ा। – Wouter

+0

अगर मैंने इसे जल्द ही देखा तो यह मुझे घंटे बचाएगा। मैंने माना कि एसएसआईएस पैकेज मेरी लाइन ब्रेक को अलग कर रहा था। इस परिवर्तन को प्रभावी होने से पहले मुझे एसएसएमएस को पुनरारंभ करना पड़ा। –

संबंधित मुद्दे