Aggiornare l'indice full text tramite web service 1° parte

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.

Nella stessa categoria
    Nessuna risorsa collegata

    Commenti

    Aggiungi un nuovo commento »»»
    Per inserire un commento, devi registrarti alla nostra community.

    © 1998-2008 - dracula - Il blog di Fabio "dracula" Civerchia

    TagCloud
    BLOG INFO
    • Post: 26
    • Commenti: 5
    • TrackBacks: 2
    • Feed blog e contenuti tecnici: RSS
    • Feed blog: RSS Atom OPML
    CATEGORIE
    I PIÙ LETTI DEL MESE
    IN EVIDENZA