我可以通過批處理文件執行查詢,並將其發送到文件夾發送電子郵件的結果,但我需要將結果發送到電子郵件,我不確定如何通過批處理文件在電子郵件中發送sql查詢/ sp結果。如何通過批處理文件來執行存儲過程或查詢,並通過批處理文件
任何建議和幫助表示讚賞。
感謝
我可以通過批處理文件執行查詢,並將其發送到文件夾發送電子郵件的結果,但我需要將結果發送到電子郵件,我不確定如何通過批處理文件在電子郵件中發送sql查詢/ sp結果。如何通過批處理文件來執行存儲過程或查詢,並通過批處理文件
任何建議和幫助表示讚賞。
感謝
這聽起來像你執行你的SQL查詢,我猜它傾倒到一個文本文件(假設output.txt的)。我假設Windows和我假設SQL Server,因爲你沒有指定。答案是下面的,但我想提供兩個選項,而不是:
選項1:安裝SQL Server發送電子郵件這將有幾個好處,包括:
不難設置電子郵件在SQL這裏是清楚的解釋:
How to send email from SQL Server?
選項2:使用PowerShell來讓你的SQL調用。
的回答你的問題(下)使用PowerShell來發送電子郵件。既然你用PS的,你還不如用PS讓你的數據庫調用。你可以找到數百個如何從PS調用SQL的例子。
最後,你問的...答案
如果你想繼續使用命令行的解決方案(也許你踢一串非SQL命令的),您需要使用PowerShell (假設你不想讓事情變得複雜,就像編寫你自己的.exe一樣)。
STEP 1:用閱讀查詢(output.txt中)的內容:
$sqlOutput = Get-Content Output.txt -Raw
STEP 2:使用$sqlOutput
作爲電子郵件的正文。這裏有一個很好的演練:
步驟3:如果你想將文件附加作爲附件,您可以使用這裏的例子:
https://msdn.microsoft.com/en-us/library/system.net.mail.attachment(v=vs.110).aspx
好吧,我試過了太..我創建我的帳戶和個人資料數據庫郵件,當我執行它說:「郵件已排隊」,當我檢查日誌文件我得到的消息如下: 郵件由於郵件服務器故障而無法發送給收件人。異常消息:無法連接到郵件服務器。(連接嘗試失敗,因爲連接方在一段時間後沒有正確響應,或者由於連接的主機未能響應而建立的連接失敗)我在這裏丟失了什麼?謝謝 –
因此,連接到郵件服務器時出現問題。有三個可能的問題。 (1)你有錯誤的服務器;您需要指向設置爲處理SMTP的服務器。 (2)通常服務器將被「鎖定」,因此它們不被用於垃圾郵件。這可能是因爲(a)您的證書不正確或(b)您發送的服務器/ IP需要被SMPT服務器列入白名單。由於事情在各種賬戶下運行,SQL的東西可能會很棘手。你可以嘗試讓其他解決方案之一工作,以便你知道你可以發送電子郵件,然後嘗試獲得SQL設置。 –
什麼數據庫(MySQL和SQL服務器等)?如果SQL Server,你可以利用sp_send_dbmail – SQLChao