2010-04-21 30 views
4

我有一個查詢返回一個大的'ntext'結果。我想將它複製到一個純文本編輯器(記事本),但只有一部分被複制。在MS SQL Server Management Studio中複製查詢結果中的大數據

我試着增加查詢選項 - >結果 - >文本,但最大值似乎是8192,這對我來說是不夠的。

關於如何實現這一點的任何想法?

我正在使用SQL Server Management Studio 2008,如果有問題的話。

TIA! 拉吉

+0

我能問你爲什麼要通過SSMS訪問如此大量的數據(除了方便)? – RobS 2010-04-21 11:50:51

+0

只有兩行我感興趣,我基本上只想檢索兩個存儲爲文本的SMTP郵件(用於驗證某些內容)。 這似乎是一個矯枉過正的寫程序來提取這些信息 – ragebiswas 2010-04-22 03:00:42

+0

是的,公平的,在那 – RobS 2010-04-23 11:29:57

回答

2

嘗試這樣:

--creates file on server 
declare @cmd varchar(1000) 
select @cmd = 'osql -U -P -S -Q"select * from yourtable" -o"c:\yourtextfile.txt" -w50000' 
exec master..xp_cmdshell @cmd 

--creates file on server 
master..xp_cmdshell 'bcp your_table_or_view out c:\file.bcp -S -U -P -c ' 

--the limit of 8192 is per column, so split your column into multiple columns 
--you will get a 1 character gap between these "columns" though 
;WITH YourQuery AS 
(
    SELECT 
     col1 
     FROM ... 
) 
SELECT SUBSTRING(col1,1,8192), SUBSTRING(col1,8193,8192), SUBSTRING(col1,16385,8192) --... 
+0

感謝三個解決方案KM。 通過「服務器」你的意思是文件將在數據庫服務器上創建?唉,這對我來說幾乎是無用的(因爲我無法訪問DB服務器文件系統) – ragebiswas 2010-04-22 03:01:24

+0

@Raj,是的,服務器在數據庫的機器上。 – 2010-04-22 11:20:23

-2

快速和骯髒的方式

  1. 右鍵表 - '編輯前200行'
  2. 點擊 '顯示SQL窗格'
  3. 編輯SQL返回所需的值
  4. 單擊執行SQL
  5. 現在您可以複製好結果

我剛剛用這種方式複製了87K文本。

+0

只有XML類型是這樣工作的,對於Edit first 200 rows選項,文本類型限制爲65536 – Spence 2013-07-22 06:32:11

+0

+1,它可能被限制爲65k,但它肯定比從select語句複製要好,它也使您的格式保存在我的格式化JSON字符串。 – 2014-04-08 17:05:36

6

我可以得到整個數據的方式是使用選項「Save Results as ...」,然後選擇TXT文件,然後用一個像notepad ++這樣的好編輯器打開它,並且您將獲得所有數據。

乾杯= 0)

相關問題