Molto spesso quando si realizza un sito che interroghi un db nel caso nostro sql server 2000 occorre fornire al cliente un
client che popoli le tabelle alle quali dal sito è possibile interrogare.
Se in queste tabelle diamo la possibilità agli utenti di fare query full text allora al client dobbiamo anche fare in modo che da esso sia possibile aggiornare l'indice full text, xche come tutti noi sappiamo? l'inserimento di nuovi dati o la modifica etc.. non
aggiorna l'indice Full-text per fare ciò, lo dobbiamo fare manualmente oppure impostare una pianificazione.Questo perché non vogliamo che il cliente ci dica ma come ho appena inserito nuovi dati ma non riesco a trovarli. Vagli a spiegare cosa deve fare o deve attendere.
Naturalmente questo che sto per dire è consigliabile quando si fa un aggiornamento di molti record e magari in una transazione.
Una soluzione sarebbe quella di creare un Web Service che faccia questo per noi.
Public Class UpdateIndexFullText
Public Shared Function IndexFullText() As Boolean
Dim conn As SqlConnection = New SqlConnection(SQL_CONNECTION_STRING)
Dim Cmd As New SqlCommand("sp_fulltext_catalog", conn)
Cmd.CommandType = CommandType.StoredProcedure
With Cmd.Parameters
.Add(New SqlParameter("@ftcat", SqlDbType.VarChar)).Value = "xml"
.Add(New SqlParameter("@action", SqlDbType.VarChar, 20)).Value = "start_full"
End With
Try
conn.Open()
Dim Resisu As Boolean = Cmd.ExecuteScalar
conn.Close()
Cmd.Dispose()
Return Resisu
Catch exsql As SqlException
Console.writeline(exsql.Message)
Throw New Exception("Errore nel popolamento dell?indice Full Text")
Catch e As Exception
Console.writeline(ex.Message)
Throw New Exception("Errore nel popolamento dell?indice Full Text")
Finally
conn.Close()
End Try
End Function
End Class
End Class
La store che si occupa di ciò è sp_fulltext_catalog, accetta 3 argomenti e restituisce 2 valori 0 esito positivo e 1 negativo.
Vediamola in dettaglio:
Gli argomenti che accetta sono @ftcat che vuole il nome del catalogo, @action è l?azione da compiere e @path che indica il percorso dove sql server memorizza l?indice, che di solito è la directory predefinita del server può essere ipostata ma non è detto che la impostiate e consiglio di non farlo solo con il comando create(valore predefinito è null).
Al prossimo blog per descrivere la store sp_fulltext_catalog altrimenti diventa troppo.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
Commento di Fabio