2011-06-15 36 views
31

MySQL bir dosyaya (CSV biçiminde veya başka opsiyonel formata) içine set sonucu yazabiliriz şık komutu SELECT ... INTO OUTFILE vardı.SQL Server Management Studio'da SELECT ... INTO OUTFILE karşılığı var mı?

Şu anda bir MS-SQL arka uç sunucusunu sorgulamak için SQL Server Management Studio kullanıyorum. Birden çok SQL sorgum var ve çıktı sonucunu bir dosyaya yazmak istiyorum. Sonuçları bir sorgudan doğrudan bir dosyaya depolamanın bir yolu var mı? SSMS yılında

cevap

50

, "Sorgu" menü öğesi ... ... Sen de küresel

ayarlayabilirsiniz

Kısayol = CTRL + shift + F

"Sonuçlar Dosya" "Sonuçlar için" Yorumlarınız SSMS yılında

, "Sorgu sonrası:

"Araçlar" ... "Seçenekler" ... "Sorgu Sonuçları" ... "SQL Server" .. "Varsayılan hedef" aşağı

Edit damla "menü öğesi ..." SQLCMD "modu

Bu işlemler gibi "komut satırı" çalışmasını sağlar.

benim SSMS hızlı bir test 2008

:OUT c:\foo.txt 
SELECT * FROM sys.objects 

Düzen SQL Management Studio'da

:OUT c:\foo.txt 
SET NOCOUNT ON;SELECT * FROM sys.objects 
+1

teşekkür ederim. Bunu doğrudan sorgu aracılığıyla yapmak istiyorum. Birden çok sorgu kullandığım için, toplu sorguları yürüttüğümde önceki sorgunun sonucu yığılır. – Legend

+1

+1 Genius! Bu bir çekicilik gibi çalışır. Sadece son bir istek: Ayırıcıyı düz biçimlendirmenin tersi olarak virgül olarak belirtmek mümkün mü? Değerlerimden bazıları boşluk içeriyor, dolayısıyla varsayılan biçimlendirme ayrıştırıcımı çok karmaşık hale getirecek. – Legend

+0

@Legend: "Araçlar" .. filan .. SSMS .. "Özel sınırlayıcı" seçenekler "sonuç metne". Sadece yeni sorgu pencerelerini etkiler (denedikten sonra bu yorumu düzenledi) – gbn

10

2012 Eylül şunları yapabilirsiniz:

  1. Sağ sonuç set ızgara tıklayın '... gibi Sonucu kaydet' seçin ve kaydetmek.

  2. Bir araç çubuğunda 'Metni Sonlandır' düğmesini seçin. Bu, her sorgu çalışmasında dosya adı soracaktır.

bunu otomatik hale getirmek gerekiyorsa

, BCP aracını kullanın.

+1

+ 1 bcp aracı için teşekkür ederiz. Bunu denediğimde bana bir hata veriyor 'Kopyalama yönü' in ',' out 'veya' format 'olmalıdır. Bir dosyadan SQL sorgularını kullanarak nasıl kullanacağım konusunda bana kısa bir örnek verebilir misiniz? – Legend

+0

Örnek: 'bcp“ SELECT Name, GroupName FROM HumanResources.Department ”sorgulama c: \ department.txt -c –T' –

+0

256 karakterden uzun bir sütun varsa SSMS yöntemini kullanmayın. Sütunu sessizce keser veya en azından SS'nin eski sürümünde yapar. –

İlgili konular