Makale Özeti

Bu yazıda Windows 2003 POP3 servisi üzerinden, Sql server üzerinde oluşturduğumuz bir DTS package'ı sayesinde belli bir sorgu sonucunda oluşacak veriyi Job kullanarak istediğimiz bir zamanda excel’e aktarıp, sonuç olarak oluşan excel dökümanını mail olarak bir başkasına gönderme üzerine bir uygulama yapılacaktır.

Makale

Veri tabanından istenilen bilgilerin Excel'e aktarılıp, istenilen zamanda Email Olarak Göndermesi

Bu yazıda Windows 2003 POP3 servisi üzerinden, Sql server üzerinde oluşturduğumuz bir DTS package'ı sayesinde belli bir sorgu sonucunda oluşacak veriyi Job kullanarak istediğimiz bir zamanda excel’e aktarıp, sonuç olarak oluşan excel dökümanını mail olarak bir başkasına gönderme üzerine bir uygulama yapılacaktır.

Makale boyunca sırasıyla Windows 2003 Server üzerinde POP3 servisi kurulumu, POP3 üzerinde domain oluşturma, domain üzerinde mailbox oluşturma, oluşturulan mailbox için Outlook yapılandırması, Sql Server’ın outlook’u kullanabilecek hale getirilmesi, Sql Server DTS (Data Transformation Services) kullanarak bir sorgu sonucunu excel’e aktaracak bir DTS package hazırlanması ve bu paketi kullanarak hazırlanacak excel dökümanının domain üzerinde oluşturduğumuz mailbox’a mail olarak gönderilmesi anlatılacaktır.

Windows 2003 POP3 servisi kurulumu

  1. POP3 servisi kurmak için sırasıyla Start menüsünden Control Panel \ Add Remove Programs ‘a tıklayın.
  2. Add Remove Programs penceresinden Add/Remove Windows Component’e tıklayın
  3. Windows Components Wizard penceresinde  E-mail Services’ı işaretleyin. Ve Next'e tıklayıp adım adım kurulumu tamamlayın.

Pop3 Servis üzerinde domain ve mailbox oluşturma

  1. Başlat menüsünden Control Panel \ Administrative Tools \ POP3 Service ‘e tıklayın.
  2. POP3 Service penceresinde, POP3 Service düğümünün altında kendi makinenizin ismini göreceksiniz.



  3. Makinenizin ismi üzerinde sağ click yapıp Properties’e tıklayın.
  4. Authentication Method olarak Local Windows Accounts’u seçin ve OK’a tıklayın.



  5. Makinenizin ismi üzerinde sağ click yapıp New Domain’e tıklayın
  6. Add Domain penceresinde Domain Name alanına dtsdeneme.com yazın.



  7. dtsdeneme.com üzerinde sağ click yapıp New \ Mailbox’a tıklayın
  8. Add Mailbox penceresinde Mailbox Name alanına dts yazın.Create associated user for mailbox seçeneğini işaretleyin. Password ve Confirm Password alanlarına 12345678 girin. OK’a tıklayın.



  9. Açılan bilgi pencerede OK’a tıklayın.



    Not : Bu adımdan sonra kendi bilgisayarımızda artık bir domain ve email adresi oluşmuş olur

Outlook Yapılandırması

  1. Başlat menüsünden Control Panel \ Mail ‘e tıklayın.
  2. Mail Setup – Outlook penceresinden E-mail Accounts ‘a tıklayın.
  3. E-mail Accounts penceresinden Add a new e-mail account ‘u seçip Next’e tıklayın.



  4. Server Type listesinden POP3 ‘ü seçin
  5. Internet E-mail Settings (POP3) penceresinde Your Name alanına dts, E-Mail Address alanına dts@dtsdeneme.com , Incoming mail server (POP3) ve Outgoing mail server (SMTP) alanlarına Makinenizin adını , User name alanına dts@dtsdeneme.com ve Password alanına 12345678 girin.
  6. More Settings’e tıklayın
  7. Internet E-mail Settings penceresinde Outgoing server sekmesine tıklayın.
  8. My outgoing server (SMTP) requires authentication ‘ı işaretleyip OK’a tıklayın.



  9. Test Account Settings ‘e tıklatın.
  10. Test Acoount Settings pencersinde Close ‘a tıklayın.
    Not : Eğer task'lerden herhangi birinde sorun varsa yukardaki adımları tekrar edin.



  11. E-mail Accounts penceresinde Next ve Finish ’e tıklayın.
  12. Mail Setup – Outlook penceresinde Close ‘a tıklayın.
  13. Başlat menüsünden Programlardan Microsoft Office Outlook 2003 ’u çalıştırın.
  14. Outlook’unuzda bir test maili geldiğini göreceksiniz.



    Not :
    Eğer kullandığınız makine bir domain üzerinde ise SQL Server ve SQL Agent servislerinin Local System Account’u ile değil domain üzerinde tanımlı ve makinenizde Administrator grubundan bir kullanıcı ile açık olmasına dikkat edin.

SQL Server ve SQL Agent’ın servis ayarlarını kontrol etmek için

  1. My Computer üzerinde sağ click yapıp Manage ’e tıklayın.
  2. Computer Management penceresinde Services & Applications düğümünü seçip açılan listeden Services üzerine tıklayın.



  3. Sağ tarafta açılan Services listesinden MSSQLSERVER üzerine çift tıklayın.
  4. MSSQLSERVER Properties penceresinde Log On seçmesine gelin.
  5. This Account ‘u seçip This Account alanına kullanıcı adınızı Password ve Comfirm Password alanlarına şifrenizi girin.
  6. OK 'e tıklayarak pencereyi kapatın.



  7. Gelen uyarıya OK diyerek pencereyi kapatın.
  8. Services listesinden SQLSERVERAGENT üzerine çift tıklayın.
  9. SQLSERVERAGENT Properties penceresinde Log On seçmesine gelin.
  10. This Account ‘u seçip This Account alanına kullanıcı adınızı Password ve Comfirm Password alanlarına şifrenizi girin.
  11. OK 'e tıklayarak pencereyi kapatın.



  12. Gelen uyarıya OK diyerek pencereyi kapatın.
  13. Services listesinin sol tarafından Start'a tıklayın.
    Bu adım SQLSERVERAGENT servisinin çalışmasını sağlayacaktır.Sqlserver üzerinde Job’ların yönetimini SQL SERVER AGENT yaptığı için bu servisin çalışması gerekiyor.
  14. Services listesinden tekrar MSSQLSERVER üzerine tıklayın.
  15. Services listesinin sol tarafından Restart 'a tıklayın.
  16. Gelen uyarı sayfasında Yes ‘e tıklayın.
    Bu adımdan sonra Service Control menüsünde SQLSERVERAGENT ve MSSQLSERVER servislerinin sırasıyla kapatılıp yeniden açıldığını göreceksiniz. Bu sayede servisleriniz belirlemiş olduğunuz account’la açılacaktır.

SQL Agent’ın Outlook’u kullanabilecek hale getirilmesi

  1. Sql Server Enterprise Manager’ı açın.
  2. (Local) \ Management \ SQL Server Agent düğümüne kadar ilerleyin.



  3. SQL Server Agent üzerinde sağ click yapıp properties’e tıklayın.
  4. SQL Server Agent Properties penceresinden Mail Profile açılır listesinden Outlook’u seçin.
    Not : Eğer listede Outlook’u göremiyorsanız makinenizi kapatıp açmak sorununuzu çözebilir.



  5. Test’e tıklayın.
    Not : Eğer şimdiye kadarki adımlarda herhangi bir sorun yoksa Successfully started (and stopped) a mail session with this profile. yazan bir mesaj almalısınız.
  6. Açık pencerelerde OK’a tıklayarak kapatın.

DTS ‘le bir sorgu sonucunu excel’e aktaracak bir DTS package oluşturulması

  1. Başlat menüsünden Programların içinden Microsoft SQL Server \ Import and Export Data ‘yı seçin.
  2. Data Transformation Services Import/Export Wizard penceresinde Next’e tıklayın
  3. Chose a Datasource penceresinde Data Source açılır listesinden Microsoft OLE DB Privider for SQL SERVER'i, Server açılır listesinden  Local'i, Use Windows Authentication ‘ı , Database açılır listesinden Northwind'ı seçin.
  4. Next’e tıklayın.



  5. Chose a Destinition penceresinde Data Source açılır listesinden Microsoft Excel 97-2000'i seçip, Filename alanı yanında, üzerinde 3 nokta bulunan buton’a tıklayın.
  6. Select File penceresinde Local Disk (C:) ye gidip File Name alanına dts yazın.
  7. Save ‘e tıklayın.



  8. Choose a Destinition penceresinde Next’e tıklayın.



  9. Specify Table Copy or Query penceresinden Use a query to specify the data to transfer’i seçip Next’e tıklayın.



  10. Açılan Type Sql Statement penceresine aşağıdaki sorguyu yazın.



  11. Next ’e tıklayın.
  12. Select Source Tables and Views penceresinde Next ’e tıklayın.
  13. Save, schedule, and replicate package penceresinden Run immediately alanındaki işareti kaldırıp Save DTS package ‘i işaretleyin.
  14. Yan tarafındaki seçeneklerden SQL Server seçili olsun.
  15. Next 'e tıklayın



     
  16. Save DTS Package penceresinde Name alanına dtspack1 yazın.
  17. Next’e tıklayın.



  18. Complate the DTS Import/Export Wizard penceresinde Finish ’e tıklayın.
  19. Executing Package penceresinde Done’a tıklayın
    Not : Bu adımdan sonra DTS paketiniz oluşturulup Sql Server’da saklanılmıştır.



DTS’i Çalıştırıp Sonucunda Oluşacak Excel Dökümanını Mail Atacak Job’un Oluşturulması

  1. Enterprise manager’da SQL Server Agent düğümünün altında Jobs üzerinde sağ click yapıp New Job ’a tıklayın.
  2. New Job Properties penceresinde General sekmesine tıklayıp,  Name alanına Run DTS and Send Mail yazın



  3. Steps sekmesine tıklayıp New ’e tıklayın.
  4. New Job Step penceresinde Step Name alanına Run Dts and Send Mail Step yazın.
  5. Command içersine aşağıdaki cümleleri ekleyin.



  6. OK'a tıklayın. 



  7. Schedules sekmesine tıklayıp New Schedule ‘e tıklayın.
  8. New Job Schedule penceresinde Name alanına Run Dts and Send Mail Schedule yazın.
  9. On Time ’ı seçip, At time alanına Job'ınızın çalışmasını istediğinizi saati girin.



  10. OK’a tıklayın.



  11. New Job Properties penceresinde OK ‘a tıklayın pencereyi kapatın.
    Not : Bu adımdan sonra belirlediğiniz zaman geldiğinde dts paketi çalıştırılacak ve mailiniz gönderilecektir.



  12. Son olarak job'ınız çalıştığında Outlook'unuzda aşağıdaki gibi bir görüntü oluşacaktır.



Ahmet HOSO
ahmet.hoso@bilgeadam.com