SQL Server’da Prosedür ile Text Dosyasına Yazı Yazdırıp Kaydetmek

Herkese merhaba,

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

SQL Server’da bazı durumlarda text dosyası oluşturup içine veri eklemek isteyebiliriz.

İşlemi yapmak için ilk olarak test için bir veritabanı oluşturmanız gerekmekte sonrasında aşağıdaki ayarları SQL Server komut ekranında çalıştırmalısınız.

EXEC sp_configure 'show advanced options', 1;

EXEC sp_configure 'Ole Automation Procedures', 1;

RECONFIGURE;

Sonrasında aşağıdaki prosedürü çalıştıralım.

CREATE PROCEDURE TextDosyasinaYaziKaydetme
(
    @Yazi AS NVARCHAR(MAX),
    @DosyaAdi VARCHAR(200)
)
AS
BEGIN
    DECLARE @Object INT,
            @Deger INT,
            @DosyaID INT;
    EXEC @Deger = sp_OACreate 'Scripting.FileSystemObject', @Object OUT;
    EXEC @Deger = sp_OAMethod @Object,
                              'OpenTextFile',
                              @DosyaID OUT,
                              @DosyaAdi,
                              2,
                              1;
    SET @Yazi = REPLACE(REPLACE(REPLACE(@Yazi, '&', '&'), '<', '<'), '>', '>');
    EXEC @Deger = sp_OAMethod @DosyaID, 'WriteLine', NULL, @Yazi;
    EXEC @Deger = master.dbo.sp_OADestroy @DosyaID;
    DECLARE @Ekleme BIT;
    SELECT @Ekleme = 0;
    IF @Deger <> 0
    BEGIN
        EXEC @Deger = master.dbo.sp_OAMethod @Object,
                                             'SaveFile',
                                             NULL,
                                             @Yazi,
                                             @DosyaAdi,
                                             @Ekleme;
    END;
    EXEC @Deger = master.dbo.sp_OADestroy @Object;
END;


--Prosedürün kullanımı 

EXEC dbo.TextDosyasinaYaziKaydetme @Yazi = N'Yavuz Selim Kart', -- nvarchar(max) 
                                   @DosyaAdi = 'D:\MSSQL.txt';  -- varchar(200)

Not : Windows’un yüklü olduğu sürücüde bu işlemi yaptığınız zaman hata alabilirsiniz.

Ben sürücü olarak D sürücüsünü seçtim siz istediğinizi seçebilirsiniz. Dosya adını da MSSQL olarak belirledim. Burada dosya adı ve dosya uzantısını yazmanız önemli.

Prosedürü oluşturup sonrasında çalıştırdığımız zaman aşağıdaki sonucu alacaksınız.

SQL Server’da Prosedür ile Text Dosyasına Yazı Yazdırıp Kaydetmek

Dosyanın içinde Yavuz Selim Kart yazıyor.

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

198 Kez Okundu

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 biriyim.

Aşağıdaki Yazılar da İlginizi Çekebilir

Yazı kopyalamak yasaktır!