Skip to main content


Showing posts from 2008

Email Alerts are not received...

In one of application, Email alerts are sent using SQL sp_send_dbmail stored procedure. Email alerts were working properly, but suddenly noticed email alerts are not received.

To troubleshoot the issue, first I checked the msdb.dbo.sysmail_event_log table using the below query.

SELECT log_id, event_type, log_date, description, process_id, mailitem_id, account_id, last_mod_date, last_mod_user
log_date DESC

If there is any error, you should see records with the event_type value as error.
In my case there are records with event_type value as error, and the description value for those records is same as below

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 3 (2018-02-01T10:41:27). Exception Message: Cannot send mails to mail server. (The SMTP server requires a secure connection or the client was not authenticated. The server response was: Authentication required).  )

As per the error descript…


Stemming process plays a major role in Indexing applications. In most cases more than one word have similar semantic interpretations and can be considered as equivalent for the purpose of Information Retrieval applications .Due to that Stemmers have been developed reduce a word to it’s root form. Stemming is the process for reducing inflected (or sometimes derived) words to their stem, base or root form – generally a written word form. The process of stemming, often called conflation, is useful in search engines for indexing and other natural language processing problems. For example a stemmer for English should identify the string "cats" (and possibly "catlike", "catty" etc.) as based on the root "cat", and "stemmer", "stemming", "stemmed" as based on "stem". A stemming algorithm reduces the words "fishing", "fished", "fish", and "fisher" to the root word, "fi…

Lucene for Indexing Applications

Lucene is a opensource information retrieval library. It is originally designed in Java, but has been ported to programming languages including Delphi, Perl, C++, Python, Ruby, PHP and C#.It can be used for any application which requires full text indexing and searching capability.The key classes that we will use to build a search engine.Document - The Document class represents a document in Lucene. We index Document objects and get Document objects back when we do a search. Field - The Field class represents a section of a Document. The Field object will contain a name for the section and the actual data. Analyzer - The Analyzer class is an abstract class that used to provide an interface that will take a Document and turn it into tokens that can be indexed. There are several useful implementations of this class but the most commonly used is the StandardAnalyzer class. IndexWriter - The IndexWriter class is used to create and maintain indexes. IndexSearcher - The IndexSearcher cl…

SQL Server 2005 Full-Text Search Indexing

SQL Server 2005 Full-Text Search Indexing can be used with MS SQL server.We index a sample database and search it using Web based or Windows based application. To index a sample database we have to write some queries. To do that I created a table named VTx in MS SQL Server 2005. If the database table contains "VideoText", "VideoTitle", and "VideoFrame" as columns and if we indexed it using "VideoText" column then we can write below steps to index it. First I created the full-text catalog named VTxCatalog using below query.CREATE FULLTEXT CATALOG VTxCatalogThen I enabled the fulltext indexing by running the sp_fulltext_database exec sp_fulltext_database 'enable'Then I created the full-text index on table VTxCREATE FULLTEXT INDEX ON VTx
VideoText )
WITH CHANGE_TRACKING AUTO Then after inserting some records to the table, I was able to search it using below query "SELECT * FROM VTx WHERE FREETEXT(Text…

SharePoint Search

I had a problem in SharePoint Search. That when I tried to search content, even though data is available no result was displayed. To overcome that problem below step were used.

* Clicked on the "Search Settings" which is in the created Shared Service page as shown below.

* Then clicked on the "Content sources and crawl schedules" in Configure Search Settings as
shown below

* After that opened the content source's context menu by left clicking the down arrow and
selected "Start Full Crawl" to index all files. This would start the indexing process. Figure is
shown below.

* After that SharePoint Search works correctly.

Retrieving a value from MSCRM and and Assign it to another Variable

We can retrieve data from MS CRM, like we retrieve data from a database. For that as in the below code, we have to first specify the attributes which we want to consider while retrieving by using ColumnSet class.

Then we can specify the conditions to be consider using the ConditionExpression class.
Also we can specify a condition operator like in SQL queries by using that class.

Then we can filter the given condition using FilterExpression class. After that we can create a query to retrieve data using QueryExpression class. By using that query we can retrieve the data as shown in below code.

ColumnSet cols = new ColumnSet();
cols.Attributes = new string[] { "name", "accountnumber" }; //name and accountnumber are two attributes.

ConditionExpression condition = new ConditionExpression();
condition.AttributeName = "accountnumber"; // Get values corresponding t…