আপনি কীভাবে এসএসএমএসে একটি পাঠ্য বা এনভারচর (সর্বাধিক) থেকে সমস্ত পাঠকে দেখেন?


191

আপনি কীভাবে এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে এনটিআরএক্স বা এনভিচারচার (সর্বাধিক) থেকে সমস্ত পাঠ্য দেখতে পাচ্ছেন? ডিফল্টরূপে, এটি কেবল প্রথম কয়েকশ অক্ষর (255?) ফিরিয়ে দেবে বলে মনে হয় তবে কখনও কখনও আমি পুরো ক্ষেত্রটি দেখার একটি দ্রুত উপায় চাই, এটি করার জন্য কোনও প্রোগ্রাম না লিখে। এমনকি এসএসএমএস 2012-তে এখনও এই সমস্যা রয়েছে :(


উত্তর:


91

বিকল্পগুলি (অনুসন্ধান ফলাফল / এসকিউএল সার্ভার / গ্রিড পৃষ্ঠায় ফলাফল)

বর্তমান প্রশ্নের জন্য বিকল্পগুলি পরিবর্তন করতে, অনুসন্ধান মেনুতে ক্যোয়ারী বিকল্পগুলি ক্লিক করুন, বা এসকিউএল সার্ভার ক্যোয়ারী উইন্ডোতে ডান ক্লিক করুন এবং অনুসন্ধান বিকল্প নির্বাচন করুন।

...

সর্বাধিক অক্ষর পুনরুদ্ধার
প্রতিটি কক্ষে প্রদর্শিত হবে এমন সর্বাধিক সংখ্যক অক্ষরের উল্লেখ করতে 1 থেকে 65535 পর্যন্ত একটি সংখ্যা লিখুন।

আপনি দেখতে যেমন সর্বাধিক, 64 কে। ডিফল্টটি অনেক ছোট।

পাঠ্য থেকে বিটিডাব্লু ফলাফলের আরও কঠোর সীমাবদ্ধতা রয়েছে:

প্রতিটি কলামে প্রদর্শিত অক্ষরের সর্বাধিক সংখ্যা
এই মানটি 256 এ ডিফল্ট হয় tr সর্বাধিক মান 8,192।


1
রিমাস তার উত্তরে যেমন লিখেছেন, সীমাবদ্ধতা রয়েছে কারণ ম্যাক্সের সাথে সংজ্ঞায়িত কলামে ডেটা টাইপের সর্বাধিক স্টোরেজ আকার 2 গিগাবাইট তাই কিছুটা সীমাবদ্ধতা থাকতে হবে কারণ এসএসএমএসে সেই সমস্ত ডেটা প্রদর্শন করা জটিল হবে।
ইভান জি

13
@ ইভানজি - সত্যই নয়। এক্সএমএল যেমন ঠিক তেমনভাবে হাইপারলিঙ্ক করা যেতে পারে এবং এটিতে ক্লিক করা এটি একটি নতুন উইন্ডোতে খুলবে। আমি সাধারণত ব্যবহার করি এমন কাজটি এটি এখানে XML এ castালাই করা । সীমাহীন দৈর্ঘ্যের অনুমতি দেওয়ার জন্য এক্সএমএল ডেটা সেট করা যেতে পারে।
মার্টিন স্মিথ

@ মার্টিনস্মিথ আকর্ষণীয়, সুতরাং এসএসএমএসকে এত বড় পরিমাণে ডেটা প্রদর্শন করা সম্ভব ...
ইভান জি

11
কেবলমাত্র অক্ষরের সংখ্যা <65535, যা ntext সর্বাধিকের চেয়ে দীর্ঘ পথ সংক্ষিপ্ত, কেবলমাত্র কাজ করে।
পলিফুন

1
@ ইভানজি এমনকি 'রেজাল্ট টু ফাইল' এই সীমাবদ্ধতায় ভুগছে।
আয়ান

216

আমি কেবলমাত্র সেই কলামটি (ফলাফলের গ্রিডে) নির্বাচিত করে তারপরে একটি এনভিচারার (ম্যাক্স) কলামের সম্পূর্ণ পাঠ্য (99,208 অক্ষর) পেতে পেরেছি এবং তারপরে ডান-ক্লিক করে ফলাফলটি CSV ফাইল হিসাবে সংরক্ষণ করতে সক্ষম হয়েছি। ফলাফলটি দেখতে কোনও পাঠ্য সম্পাদক (নয় এক্সেল) সহ সিএসভি ফাইলটি খুলুন। যথেষ্ট মজার বিষয়, যখন আমি একই ক্যোয়ারী চালানোর চেষ্টা করেছি, তবে ফলাফলের ফলাফল ফাইল সক্ষম করে, ফলাফলের পাঠ্য সীমা ব্যবহার করে আউটপুট কেটে দেওয়া হয়েছিল।

@ মার্টিনস্মিত যে মন্তব্যটি (বর্তমানে) গৃহীত উত্তরের মন্তব্য হিসাবে বর্ণনা করেছেন তা আমার পক্ষে কাজ করে না ("['' চরিত্রটি হেক্সাডেসিমাল মান 0x5 বি সম্পর্কে অভিযোগ করে সম্পূর্ণ এক্সএমএল ফলাফল দেখার চেষ্টা করার সময় একটি ত্রুটি পেয়েছিল) একটি নাম অন্তর্ভুক্ত করা ")।


17
সিটিভিতে রাইট-ক্লিক করুন, সংরক্ষণ করুন, NTEXT ক্ষেত্রের বাইরে বিশাল পাঠ্য মান পেতে আমার জন্য কবিতার মতো কাজ করেছে।
ডেভিড আল্পার্ট

3
@ আজেহ: আপনি এসএসএমএস 2012 এর কোন সংস্করণ ব্যবহার করছেন? আমি এসএসএসএস ২০১২ (সংস্করণ ১১.০.৫34৩৩.০) এর সাথে কেবল এটি পরীক্ষা করেছি (আমার উত্তরে বর্ণিত একই সঠিক পদক্ষেপগুলি অনুসরণ করেছি) এবং এটি কাজ করে
এরিক

8
তবে এটি এক্সলে খুলবেন না, সিএসভি আমদানি আবার ডেটা কেটে ফেলবে। :)
Johncl

1
ধন্যবাদ, এটি আমাকে
এসএসএমএস

2
ট্যাব সীমিত পাঠ্য হিসাবে সংরক্ষণ করা আরও ভাল কাজ করে। CSV ফর্ম্যাটটি পাঠ্যের সমস্ত উদ্ধৃতি দ্বিগুণ করে।
ডেভিডেগ্রে

138

দ্রুত কৌশল

SELECT CAST('<A><![CDATA[' + CAST(LogInfo as nvarchar(max)) + ']]></A>' AS xml)
FROM Logs
WHERE IDLog = 904862629

6
এটি পুরোপুরি (সিডিএটিএ অংশ ছাড়াই) কাজ করে যখন কলামটির বিষয়বস্তুগুলি আসলে এক্সএমএল
axks

2
এটি আমার পক্ষেও কাজ করেছিল, আমার কাছে জেসন ডেটা ছিল যা আমার এসএসএল এসএলএল থেকে বেরিয়ে আসা দরকার।
দেব_কর্প্স

এছাড়াও, লিখিত সামগ্রীগুলি XML পালিয়ে গেছে। একবার আপনি পাঠ্যটি বের করে আনার পরে, ফ্রি ফরম্যাটটার ডটকমের মতো একটি সরঞ্জাম ব্যবহার করে আপনার এটি অনস্কেপ করা উচিত।
harsimranb

এটি আমার পক্ষে কাজ করেছে: ge `@ @ জিওগ্রাফিকে ডিক্লেয়ার করুন; ... কাস্ট (@ g.ToString () কে এক্সএমএল হিসাবে) নির্বাচন করুন; `` `
সের্গেই জিনোভিয়েভ

1
এটি 250 মিলিয়ন কেবি জেসন স্ট্রিংটি দেখতে অন্যান্য এসএসএমএস ভি 18 এর সাথে আমার জন্য কাজ করেছে যা অন্যান্য সমাধানগুলি কেটে ফেলেছে। প্লাস আমি এটি পছন্দ করি কারণ এটি আপনাকে একটি পাঠ্য দর্শকের একটি লিঙ্ক দেয়। + +!
রবার্তো

54

আমি এসএসএমএসের জন্য একটি অ্যাড-ইন লিখেছি এবং এই সমস্যাটি এখানে স্থির হয়েছে। আপনি 2 টির মধ্যে একটি উপায় ব্যবহার করতে পারেন:

আপনি ক্লিপবোর্ডে আসল সেল ডেটা অনুলিপি করতে "বর্তমান ঘর কপি 1: 1" ব্যবহার করতে পারেন:

http://www.ssmsboost.com/Features/ssms-add-in-copy-results-grid-cell-contents-line-with-breaksআসল সেল সামগ্রীগুলি অনুলিপি করুন

অথবা, বিকল্পভাবে, আপনি "সেল ভিজ্যুয়ালাইজার" বৈশিষ্ট্যটি ব্যবহার করে বহিরাগত পাঠ্য সম্পাদক (নোটপ্যাড ++ বা নোটপ্যাড) এ সেল কন্টেন্ট খুলতে পারেন: http://www.ssmsboost.com

(বৈশিষ্ট্যটি কোনও বাহ্যিক অ্যাপ্লিকেশনে ক্ষেত্রের সামগ্রীগুলি খোলার অনুমতি দেয়, সুতরাং যদি আপনি জানেন যে এটি পাঠ্য হয় - আপনি এটি খোলার জন্য পাঠ্য সম্পাদক ব্যবহার করেন contents ):এসএসএমএস ফলাফল গ্রিড ভিজ্যুয়ালাইজার


2
দেখতে সত্যিই দরকারী এক্সটেনশনের মতো মনে হচ্ছে, তবে এটির উত্তর হিসাবে গ্রহণ করতে পারছি না কারণ এর জন্য বাণিজ্যিক পণ্য (বা ট্রায়াল) প্রয়োজন। ধন্যবাদ যদিও!
নিক

4
+1 দুর্দান্ত মুক্ত এক্সটেনশন যা নিখুঁতভাবে কাজ করে ... ধন্যবাদ!
পুনরায় পোস্ট করুন

2
ধন্যবাদ, এটি আমি যা চাই ঠিক তাই করে।
ডেরেক ডিন

9
দুর্ভাগ্যক্রমে, 4 সেপ্টেম্বর, 2017 হিসাবে, এসএসএমএস বুস্ট আর মুক্ত নয় (প্রতিটি নতুন সংস্করণ
প্রকাশের

4
এটি এখন একটি বাণিজ্যিক পণ্য, বিনামূল্যে লাইসেন্স উল্লিখিত বৈশিষ্ট্যগুলির কোনওটি কভার করে না, সেগুলি অক্ষম হয়ে যায় এবং আপনি পিআরও সংস্করণ কিনতে পপ-আপ পান। উত্তরটি তার সফ্টওয়্যারটির জন্য কেবল একটি প্রচার।
metabuddy

3

এক্সএমএল হিসাবে ডেটা ফেরান

SELECT CONVERT(XML, [Data]) AS [Value]
FROM [dbo].[FormData]
WHERE [UID] LIKE '{my-uid}'

আপনি যে ফলাফলটি প্রত্যাশা করছেন তার উপর নির্ভর করে আপনি এসএসএমএস বিকল্প উইন্ডোতে যুক্তিসঙ্গত সীমা নির্ধারণ করেছেন তা নিশ্চিত করুন। এখানে চিত্র বর্ণনা লিখুন

আপনি যে পাঠ্যটি ফিরে আসছেন তাতে যদি এর &পরিবর্তে এনকোডেড অক্ষর না থাকে তবে &amp;এটি কাজ করবে XML রূপান্তর ব্যর্থ হওয়ার কারণ।

পাওয়ারশেল ব্যবহার করে ডেটা ফেরানো

এর জন্য আপনার মেশিনে পাওয়ারশেল এসকিউএল সার্ভার মডিউল ইনস্টল করা দরকার যা আপনি কমান্ডটি চালাবেন।

আপনি যদি সমস্ত সেট আপ করেন তবে নিম্নলিখিত স্ক্রিপ্টটি কনফিগার করুন এবং চালনা করুন:

Invoke-Sqlcmd -Query "SELECT [Data] FROM [dbo].[FormData] WHERE [UID] LIKE '{my-uid}'" -ServerInstance "database-server-name" -Database "database-name" -Username "user" -Password "password" -MaxCharLength 10000000 | Out-File -filePath "C:\db_data.txt"

নিশ্চিত হয়ে নিন যে আপনি -MaxCharLengthকোনও মানকে আপনার প্রয়োজন অনুসারে মান নির্ধারণ করেছেন ।


1

বিকল্প 1 : সেল অনুলিপি করতে ডান ক্লিক করুন এবং পাঠ্য সম্পাদককে আটকান (আশা করি utf-8 সমর্থন সহ)

বিকল্প 2 : ডান ক্লিক করুন এবং সিএসভি ফাইলে রফতানি করুন

বিকল্প 3 : কলামের কিছু অংশ ভিজ্যুয়ালাইজ করতে সাবস্ট্রাকশন ফাংশনটি ব্যবহার করুন। উদাহরণ:

জমা দিন নির্বাচন করুন (ফাইলএক্সএমএল, 2200,200) Mytable থেকে আইডি = 123456


0

আপনার যদি এটি দেখতে হয় তবে আমি এটি ব্যবহার করেছি:

print cast(dbo.f_functiondeliveringbigformattedtext(seed) as text)

শেষ ফলাফলটি হ'ল আমি লাইন ফিড এবং এসএমএসএসের বার্তা উইন্ডোতে সমস্ত সামগ্রী পাই। অবশ্যই এটি কেবল একটি একক ঘরের জন্য অনুমতি দেয় - আপনি যদি বেশ কয়েকটি সারি থেকে একটি একক ঘর করতে চান তবে আপনি এটি করতে পারেন:

declare @T varchar(max)=''
select @T=@T
       + isnull(dbo.f_functiondeliveringbigformattedtext(x.a),'NOTHINGFOUND!')
       + replicate(char(13),4)
from x -- table containing multiple rows and a value in column a
print @T

আমি এসকিউএল কোড দ্বারা উত্পন্ন JSON স্ট্রিংকে বৈধতা দিতে এটি ব্যবহার করি। অন্যথায় পড়া খুব কঠিন!


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.