SQL den Alınan Verilerin Dosya Olarak Çıktısının Alınması
Merhaba!
Personel bilgilerinde değişikliklerin Active Directory de güncellenebilmesi için veri tabanındaki personel tablosunu csv file olarak çıktı almam gerekiyordu.
SQL üzerinde XP sistem komutlarını çalıştırmak için xp_cmdshell komutunu kullanıyoruz. Bu komut güvenlik açısından default olarak pasif olarak geliyor. Eğer daha önce kullanmadıysanız aktif etmeniz gerekebilir.
Aktif etmek için aşağıdaki komutları çalıştırabiliriz.
GO
RECONFIGURE
GO
EXEC sp_configure'xp_cmdshell',1
GO
RECONFIGURE
GO
SQL den dosya çıktıları alabilmek için bcp yani back up komutunu kullanıyoruz.
EXECUTE master..xp_cmdshell 'bcp "SELECT * FROM TabloAdi;" queryout "\\MakineAdi\KlasorAdi\DosyaAdi.csv" -S ServerIsmi -U VeritabaniKullaniciAdi -P VeriTabaniSifresi -t, -c -C ACP'
Bu komut sorgudaki alanların sütunlarının virgülle ayrılmış şekilde csv dosyası olarak çıktı alınmasını sağlıyor.
Virgülle ayrılmış değil de sütun olarak gelmesini isterseniz sondaki -C ACP komutunu çıkarabilirsiniz.
Herkese kolay gelsin,
Hiç yorum yok:
Yorum Gönder