Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

जब डेटाबेस अपडेट किया गया है तो मैं अपने प्रोग्राम को कैसे सूचित कर सकता हूं?

मतदान डेटाबेस बहुत सुंदर समाधान नहीं है।

SqlDependency ADO.NET से आपके मामले में उपयोगी होगा। यह मतदान का नहीं बल्कि अधिसूचना तंत्र का उपयोग करता है। आपके डेटाबेस में सेवा ब्रोकर द्वारा सूचनाएं प्रदान की जाती हैं, इसलिए इस सेवा को आपके डेटाबेस में सक्षम करने की आवश्यकता होगी। OnChange निर्दिष्ट तालिका में परिवर्तन होने पर ईवेंट बढ़ जाएगा (अपडेट करें, हटाएं, डालें ..)

यहां एक उदाहरण दिया गया है कि SqlD निर्भरता का उपयोग कैसे करें:

void Initialization()
{
    // Create a dependency connection.
    SqlDependency.Start(connectionString, queueName);
}

void SomeMethod()
{
    // Assume connection is an open SqlConnection.

    // Create a new SqlCommand object.
    using (SqlCommand command=new SqlCommand(
        "SELECT ShipperID, CompanyName, Phone FROM dbo.Shippers", 
        connection))
    {

        // Create a dependency and associate it with the SqlCommand.
        SqlDependency dependency=new SqlDependency(command);
        // Maintain the refence in a class member.

        // Subscribe to the SqlDependency event.
        dependency.OnChange+=new
           OnChangeEventHandler(OnDependencyChange);

        // Execute the command.
        using (SqlDataReader reader = command.ExecuteReader())
        {
            // Process the DataReader.
        }
    }
}

// Handler method
void OnDependencyChange(object sender, 
   SqlNotificationEventArgs e )
{
  // Handle the event (for example, invalidate this cache entry).
}

void Termination()
{
    // Release the dependency.
    SqlDependency.Stop(connectionString, queueName);
}

http://msdn.microsoft.com/en-us/library/ से 62xk7953.aspx

सर्विस ब्रोकर को सक्षम करने का तरीका यहां दिया गया है (ध्यान दें कि ऐसा करने के लिए आपके पास डेटाबेस पर विशिष्टता होगी - sql सर्वर के पुनरारंभ होने के बाद इसे सबसे अच्छा करें):<स्ट्राइक>http://blogs.sftsrc.com/stuart/archive/2007/06/13/42.aspx (टूटी हुई कड़ी)

संभावित वैकल्पिक लिंक:http://technet। microsoft.com/en-us/library/ms166086(v=sql.105).aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 में एक लीप सेकेंड को संग्रहीत करना

  2. वेतन तालिका से वां उच्चतम वेतन खोजने के लिए SQL क्वेरी

  3. SQL सर्वर प्रबंधन स्टूडियो 2008 R2 में क्वेरी विश्लेषक कहाँ है?

  4. SQL सर्वर:एक क्वेरी में मौजूद पंक्ति, दूसरे में अनुपलब्ध

  5. SQL सर्वर में स्वचालित डेटाबेस परीक्षण पुनर्स्थापित करें