Food for thought
The mobile era is upon us
http://www.mocom2020.com/
heres another interesting video to think about
Food for thought
The mobile era is upon us
http://www.mocom2020.com/
heres another interesting video to think about
We recently migrated from SQL server 2005 to SQL Server 2008 Web edition on our hosted servers, amongst several issues that were faced was the full text search error
SQL Server encountered error 0x80070218 while communicating with full-text filter daemon host (FDHost) process. Make sure that the FDHost process is running. To re-start the FDHost process, run the sp_fulltext_service ‘restart_all_fdhosts’ command or restart the SQL Server instance.
So when you execute the recomended SP
1 |
exec sp_fulltext_service 'restart_all_fdhosts' |
you receive this error
Msg 30046, Level 16, State 1, Procedure sp_fulltext_service, Line 163
SQL Server encountered error 0x80070218 while communicating with full-text filter daemon host (FDHost) process. Make sure that the FDHost process is running. To re-start the FDHost process, run the sp_fulltext_service ‘restart_all_fdhosts’ command or restart the SQL Server instance.
what you need to do is add the log on user the full text search service is running under, to the full text search security group on the box in question, it will look something ike this
SQLServerFDHostUser$lce-1$MSSQLSERVER
For me all i needed to do was add the “local service” account to the group – restart the sql service and re run the execute command
1 |
exec sp_fulltext_service 'restart_all_fdhosts' |
Problem solved
If you use the entity framework from microsoft, latest version at the date of this post is framework 4.0
You might run into this little angel when you try to envoke the string value of an object
LINQ to Entities does not recognize the method ‘System.String ToString()’ method
This happens when applying a filter to an integer field and you want to use the
1 |
.contians |
method of a string. So my code looked ike this
1 |
query = query.Where(Function(Results) (Results.UID.ToString.Contains(fltrtxtRef.Text))) |
From the master query
1 2 3 4 5 6 7 8 9 10 |
Dim query = From UE In DLadoEntity.UserEnquiries _ Join A In DLadoEntity.Accounts On A.UID Equals UE.ToAccountUID _ Where UE.IsFromProfileView = True _ Order By UE.Status Descending, UE.TimeStamp Descending _ Select UE.UID _ , UE.NonRegisteredAddress _ , UE.NonRegisteredCompanyName _ , UE.NonRegisteredCompanyPosition _ , UE.NonRegisteredCountryUID _ , UE.NonRegisteredEmailAddress _ |
etc…
The only way i Could get round this was to onvert the UID field into a string in the master select query like so
1 2 3 4 5 6 7 8 9 10 |
Dim query = From UE In DLadoEntity.UserEnquiries _ Join A In DLadoEntity.Accounts On A.UID Equals UE.ToAccountUID _ Where UE.IsFromProfileView = True _ Order By UE.Status Descending, UE.TimeStamp Descending _ Select [UID] = "" & UE.UID _ , UE.NonRegisteredAddress _ , UE.NonRegisteredCompanyName _ , UE.NonRegisteredCompanyPosition _ , UE.NonRegisteredCountryUID _ , UE.NonRegisteredEmailAddress _ |
notice the cure was to force linq to convert the resulting field into a string, allowing the filter to look like this
1 |
query = query.Where(Function(Results) (Results.UID.Contains(fltrtxtRef.Text))) |
Microsoft have a list os supported methods here