Tuesday, September 7, 2010

Difference between Truncate and Delete

Difference between Delete and Truncate:

                Delete Logged operation on per row basis. [Every record logged and physically deleted].
                Delete any row that will not violate constraint, while leaving the foreign key or any other constraints.
                Truncate is also a logged operation in different way [ SQL Server 2005 and above].
                Truncate logs the de-allocation of the data pages in which the data exists. [Data exists in pages, marked as empty for reuse].
                Truncate is faster than Delete.
                If table have any Foreign Key not able to perform truncate operation.
                Truncate reset identity columns
                Delete perform trigger operations.

File System Watcher Using Windows Service

How To Install Windows Service:
-------------------------------

To install windows service in command prombt to enter the below line,

installutil C:\mcWebService\bin\Debug\mcWebService.exe


How To Unistall Service:
----------------------

installutil /u C:\mcWebService\bin\Debug\mcWebService.exe

/u --> Uninstall the windows service

How To Check If Service Running / Not:
-------------------------------------

Control Panel->Administrative Tools->Service

check if service is running or not.



Service1.cs:
-----------

 protected override void OnStart(string[] args)
        {
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
            m_streamWriter.WriteLine("FileSystemWatcher: Service Started"+System.DateTime.Now.Date.ToShortDateString ()+"--->"+System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.Flush();
            m_streamWriter.Close(); 

        }

        protected override void OnStop()
        {
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
            m_streamWriter.WriteLine("FileSystemWatcher: Service Stopped" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString()); 
            m_streamWriter.Flush();
            m_streamWriter.Close(); 

        }

        private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
        {
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
            m_streamWriter.WriteLine("File Name Changed\t" + e.FullPath.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.WriteLine("File Change Type \t" + e.ChangeType.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());

            m_streamWriter.Flush();
            m_streamWriter.Close();                
        }

        private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
        {
            
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
            m_streamWriter.WriteLine("File Newly Created\t" + e.FullPath.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.Flush();
            m_streamWriter.Close();                
        }

        private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
        {
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            m_streamWriter.WriteLine("File Deleted\t" + e.FullPath.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.Flush();
            m_streamWriter.Close();                
        }

        private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
        {
            FileStream fs = new FileStream(@"c:\servicetest\filesystemwatcher.txt",
FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter m_streamWriter = new StreamWriter(fs);
            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            m_streamWriter.WriteLine("Old File Name\t" + e.OldFullPath.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.WriteLine("File Renaming \t" + e.FullPath.ToString() + "\t" + System.DateTime.Now.Date.ToShortDateString() + "--->" + System.DateTime.Now.Date.ToShortTimeString());
            m_streamWriter.Flush();
            m_streamWriter.Close();                
            
        }