2009-08-01 10 views
6

क्या मैं पूछ सकता हूं कि xp_sendmail और sp_send_dbmail proc के बीच क्या अंतर है? वे दोनों ई-मेल संदेश भेजते हैं, जिसमें निर्दिष्ट प्राप्तकर्ताओं को एक क्वेरी परिणाम सेट अटैचमेंट शामिल हो सकता है .....अंतर xp_sendmail और sp_send_dbmail proc

क्या अंतर है?

उत्तर

15

xp_sendmail सर्वर पर Outlook जैसे एक MAPI क्लाइंट स्थापित करने की आवश्यकता है। एसक्यूएल सर्वर 2000 और इससे पहले यह एकमात्र विकल्प है।

sp_send_dbmail एक साधारण एसएमटीपी समाधान है, एसक्यूएल सर्वर 2005+

sp_send_dbmail कहीं बेहतर कर रहा है के लिए जोड़ा गया।

+0

धन्यवाद .... मैं समझता हूं !! –

3

दोनों के बीच एक और अंतर यह है कि लेन-देन वापस ले जाने पर sp_send_dbmail() का उपयोग करके भेजा गया ईमेल संदेश वापस ले जाया जाएगा (भेजा नहीं गया)। यह xp_sendmail() का उपयोग करके भेजे गए ईमेल के साथ नहीं होता है।

तो, यदि आप लेनदेन के अंतिम परिणाम के बावजूद ईमेल संदेश भेजना चाहते हैं तो आपको xp_sendmail() का उपयोग करने की आवश्यकता होगी।

यदि कोई एसपी इसकी प्रसंस्करण को पूरा करने में असमर्थ था तो मैं उपयोगकर्ताओं को सूचित करने के लिए ईमेल भेज रहा था। बेशक, मैं उस घटना में लेनदेन वापस ले रहा था। जब मैंने sp_send_dbmail() पर लेन-देन किए गए लेनदेन को वापस ले जाया था (जिनसे मैं ईमेल अधिसूचना प्राप्त करना चाहता था) ईमेल भेजना बंद कर दिया।

+0

भले ही संदेशों को लेनदेन रोलबैक के बावजूद भेजा जाना है, फिर भी 'sp_send_dbmail' का उपयोग करना संभव है। तालिका सारणी में सभी जानकारी स्टोर करें, और रोलबैक के बाद भेजें। – ajeh

0

हम कॉलिंग कोड को नियंत्रित नहीं करते हैं - यह बंद है और एक लेनदेन में एसपी को कॉल करता है। मेल कतार को सीधे भेजने या फ़्लश करने के लिए हमें SQL सर्वर में एक सुविधा की आवश्यकता है।

+0

आपका उत्तर प्रश्न से संबंधित नहीं होने का इंप्रेशन देता है। – Yunnosch

+0

यह भिन्नता में से एक है, sp_send_dbmail में queing, और बाद में वापस लेनदेन से ईमेल भेजने पर समस्या। हमारे मामले में हम रोलबैक नहीं करते हैं, इसलिए कुछ भी स्टोर नहीं कर सकते हैं। यह 21 मार्च को 21:21 बजे एजेह से संबंधित है। –

संबंधित मुद्दे