İleri Seviye SQL Server Sql Server

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

SQL Server Eğitimleri Kanalına Abone Olun

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
GO
EXEC sp_configure 'Ole Automation Procedures', 1;
GO
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.

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

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

SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Kopyalamak Yasaktır!