我有要求將發票作爲附件發送給客戶。 將文件動態添加到SSIS中的電子郵件中
如上圖所示,數據庫中的表格包含客戶名稱和附件名稱(包含名稱)。我需要遍歷這張表併發送附件給有關客戶。這些相同的附件保存在一個文件夾中。請幫助我一個方法。
我有要求將發票作爲附件發送給客戶。 將文件動態添加到SSIS中的電子郵件中
如上圖所示,數據庫中的表格包含客戶名稱和附件名稱(包含名稱)。我需要遍歷這張表併發送附件給有關客戶。這些相同的附件保存在一個文件夾中。請幫助我一個方法。
正如Alleman指出的那樣,sp_send_dbmail是完成任務的最佳選擇。唯一需要分配的權限是DatabaseMailUser數據庫角色msdb數據庫。
但是,如果你覺得它需要通過SSIS解決。下面是需要遵循的步驟 -
創建一個對象變量說objInvoiceAttachmentList和以下三個變量 - sCustomerName,sAttachmentFullFilePath,sMailId
使用「執行SQL任務」,並運行一個查詢來獲取列表客戶數據如下。將結果集設置爲「完整結果集」。在「ResultSet」選項卡中將其分配給上面的對象變量。 (我假設你有一個名爲MailId爲您的客戶列)從dbo.InvoiceAttachments
使用 'for each循環容器'
選擇名稱,附件,MailId。在'Collection'中將枚舉器設置爲'Foreach ADO Enumerator',並將集合變量設置爲objInvoiceAttachmentList。在'變量映射'選項卡中,按查詢順序分配三個變量。
在foreach循環任務中使用'發送郵件任務'。轉到「表達式」並使用適當的有效SMTP連接設置適當的變量。
非常感謝。這對我有效。 –
您不需要使用SSIS。事實上,SSIS實際上並不是一個很好的工具。
sp_send_dbmail可以從文件系統發送附件。使用@file_attachments
參數。
在SSIS中很容易。
爲什麼要使用SSIS?您可以使用存儲過程執行此操作。 –
附件將在文件系統中 –