İleri Seviye SQL Server Sql Server

SQL Server’da Text Dosyasına Yazı Yazan Prosedür

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda SQL Server’da  text dosyasına yazı yazan prosedür hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda SQL Server’ı kullanarak dosyaya yazı yazdırmak isteyebilirsiniz.

Aşağıdaki prosedürü kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

İlk olarak gerekli ayarlamaları yapmalısınız.

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO

EXEC sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO

Sonrasında C:\ sürücüsüne data klasörünü açalım ve ayarlamaları da yaptıktan sonra prosedürü oluşturalım.

--Prosedürün oluşturulması

CREATE PROCEDURE sp_Dosyaya_Yaz
    @DosyaYolu VARCHAR(255),
    @YazilacakYazi VARCHAR(MAX)
WITH EXECUTE AS CALLER
AS
BEGIN
    DECLARE @OLE INT;
    DECLARE @DosyaID INT;

    EXECUTE sp_OACreate 'Scripting.FileSystemObject', @OLE OUT;

    EXECUTE sp_OAMethod @OLE, 'OpenTextFile', @DosyaID OUT, @DosyaYolu, 8, 1;

    EXECUTE sp_OAMethod @DosyaID, 'WriteLine', NULL, @YazilacakYazi;

    EXECUTE sp_OADestroy @DosyaID;

    EXECUTE sp_OADestroy @OLE;
END;


--Prosedürün kullanımı

EXEC dbo.sp_Dosyaya_Yaz 'C:\data\Ornek Yazi Ciktisi.txt', 'Selamlar';
EXEC dbo.sp_Dosyaya_Yaz 'C:\data\Ornek Yazi Ciktisi.txt', 'Nasılsın';

Prosedürü oluşturup çalıştırdığınızda aşağıdakine benzer bir sonuç elde edeceksiniz.

SQL Server'da Text Dosyasına Yazı Yazan Prosedür

Görüldüğü üzere prosedür yardımıyla text dosyasına yazı yazılmış oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

175 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!