Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

e-mail bazy danych z załącznikiem (plik Excel / plik pdf)?

Spowoduje to dołączenie wyniku zapytania jako csv, po prostu zmień go na nazwapliku.xls, jeśli wolisz ten format. Myślę, że csv działa lepiej, w programie Excel możesz otrzymać ostrzeżenie, że plik jest w innym formacie niż określony przez rozszerzenie.

Użyłem również znaku CHAR(9) lub TAB jako separatora wyników zapytania, możesz to zmienić na dowolny, który Ci odpowiada.

Dodałem również SET NOCOUNT ON do twojego zapytania, jeśli nie masz tego, otrzymasz (1000 wierszy, których dotyczy) (niezależnie od liczby wierszy zwróconych przez zapytanie) na końcu pliku Excel.

DECLARE
    @tab char(1) = CHAR(9)

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'Adventure Works Administrator',
    @recipients = '[email protected]',
    @query = 'SET NOCOUNT ON 
              SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder
              WHERE DueDate > ''2004-04-30''
              AND  DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,
    @subject = 'Work Order Count',
    @attach_query_result_as_file = 1,
    @query_attachment_filename='filename.csv',
    @[email protected],
    @query_result_no_padding=1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportuj tabelę z bazy danych do pliku csv

  2. C# clr udf dla członkostwa w grupie Active Directory

  3. Utwórz osobny wiersz, jeśli kolumna zawiera wartość oddzieloną przecinkami

  4. Wykonaj pętlę while w SQL Server 2008

  5. Pętla wyzwalacza SQL Server