The Microsoft Search service cannot be administered under the present account

Oggi, mentre VPC e VS2005 si stavano installando (per i curiosi, ho dovuto ibernare il VPC a metà installazione di SQL Express 2005, sperando che domani riparta), mi sono imbattuto in curioso Smile con sorriso severo messaggio di errore cercando di ripopolare un Full-Text catalog su MSSQL 2000:

"The Microsoft Search service cannot be administered under the present user account"

Che diavolo vuol dire?

Cercando su Google mi sono imbattuto sulle più disparate soluzioni: una diceva di cambiare l'utenza con la quale gira MSSQL, riavviare, e poi rimettere quella originaria, un'altra diceva di verificare tutti i permessi dell'utente per vedere se era sysadmin ecc...

La causa di questo problema è, in genere, che l'utente col quale gira MSSQL è diverso da quello col quale gira MSSearch, o non fa parte degli utenti "abilitati" ad amministrarlo: in genere ciò capita se si cambia l'utente di MSSQL dal Control Panel: così facendo il "collegamento" tra i due programmi non viene aggiornato.

Ma questo workaround non ha funzionato, anche perchè nel mio ambiente i due servizi girano con lo stesso utente Smile triste

Alla fine, spulciando tra le centinaia di messaggi trovati su questo argomento, quando ormai pensavo di dover reinstallare completamente il Server SQL, ho trovato il riferimento Lampadina  a questo articolo di Knowledge Base di MS

827449: How to manually reinstall the Microsoft Search service for an instance of SQL Server 2000

In pratica nel mio caso, probabilmente MSSearch si era stato installato male, e quindi mancavano dei file.

Riassumendo bisogna:

  1. rimuovere tutte le chiavi di registro relative a MSSearch
  2. installare il servizio Microsoft Search da uno dei programmi di setup chiamati di norma dall'installer di SQL Server
  3. eseguire un'altro programma che "collega" un'istanza di MSSQL a MSSearch
  4. Aggiungere un "protocol handler" a MSSearch aggiungendo un'altra chiave di registro tra quelle di MSSearch
  5. poi ripetere i passi 2 e 3, ma a partire dal CD dell'SP3 (prima lo avevamo fatto a partire dal CD di SQL Server)

Il tutto ovviamente inframezzato da reboot vari.

Alla fine di questa lunga operazione (lunga perchè ovviamente i CD erano in ufficio e il server era in webfarm remota) provo a fare il rebuild di un full-text catalog e ... RULLO DI TAMBURI ... funziona tutto!!! Pollice Su

Anche oggi abbiamo scoperto qualcosa di nuovo sulla gestione di MSSQL

powered by IMHO

VS 2005 Beta: i primi passi

Mi sono finalmente deciso a provare VS 2005 Beta 1...

Ho iniziato questa mattina, ed ora sono quasi arrivato alla fine:

  1. Installato Virtual PC 2004 (10 minuti)
  2. Installato XP Pro su una virtual (3 ore)
  3. Aggiornato XP con SP2 e tutti gli altri update del caso (2 ore)
  4. Installato VS 2005 dal CD MSDN 2004 (sta ancora a metà, ma è già 1 ora)

Fortunatamente VPC continua a lavorare anche quando è in background, anche se è molto, molto più lento di quando è un foreground. Speriamo di finire prima di andare a casa, altrimenti mi tocca sperimentare il comando "sospendi" di VPC, e chiamarlo a metà installazione devo ammettere che mi mette i brividi.

powered by IMHO 1.1 with Emoticon Formatter

Sfondo scrivania di Linux

Non sono un fanatico di Linux, ma oggi sul desktop di un mio collega ho trovato questo splendido sfondo:

E ne potete trovare moltissimi altri...

Secondo me quello che manca alla community .NET è una mascot (si scrive così?) con la quale indentificarsi... Marketing men di MS, se ci siete battete un colpo

powered by IMHO 1.1 with Emoticon Formatter

Primo progetto complesso sotto CC.NET

Come ho anticipato qualche giorno fa sto iniziando ad usare CruiseControl.NET per centralizzare le build dei progetti web che sviluppiamo nella mia azienda.

Pensavo fosse più difficile da integrare, ed invece, in soli 3 gg lavorativi, sono partito da zero (non conoscevo nemmeno NAnt) e sono arrivato alla build completa di un progetto web abbastanza complesso, suddiviso su 3 solutions gestite separatamente.

Ora ho messo in piedi la build centralizzata di una web application, che dipende da 2 class library sviluppate internamente, e una delle class library dipende dall'altra.

Tutti e 3 i progetti monitorizzano un repository di codice su VSS, insieme con la directory di output degli altri progetti dai quali dipendono.

Appena viene notata una modifica o in VSS o in uno dei progetti dai quali dipendono, viene scatenata la build tramite NAnt: grazie ai task di NAnt poi è possibile deployare la web application su un server di test, e zippare e archiviare le versioni precedenti, sia delle class library che della web application.

Infine, è possibile notificare via email il risultato della build ad un gruppo di sviluppo.

In aggiunta a questa notifica, CC.NET fornisce anche un programmino che gira nella Traybar e controlla il server di build, e avvisa il programmatore quando succede qualcosa ai progetti che si stanno monitorando.

In questo caso la build è stato rotta.

Sicuramente CC.NET insieme ad NAnt sono un grande aiuto allo sviluppo di progetti complessi, e visto la facilità con la quale è possibile mettere in piedi tutta l'infrastuttura necessaria, è quasi un "delitto" non farlo Smile

powered by IMHO 1.1 with Emoticon Formatter

jClubHouse ha il suo sito

Finalmente in questi pochi giorni liberi delle vacanze di Natale siamo riusciti (io e mia futura moglie) a mettere in piedi un sitino per il nostro CMS... spero di rilasciare un po' di codice prima di partire per il viaggio di nozze

L'indirizzo è www.jClubHouse.org

Sul sito c'è anche un documento PDF con le features del CMS.

powered by IMHO

C#: dubbi da libro

Sono andato a trovare i suoceri ad Ancona, e andando in stazione ho visto in edicola la guida su C# di "ioProgrammo": visto che mi aspettavano 5 ore di treno e non avevo con me il portatile ho deciso di fare questo investimento e comprarlo, per vedere se per caso c'era qualcosa di interessante.

L'introduzione non promette nulla di buona per uno che sviluppa in C# da 3 anni:

"Se siete programmatori C#, e siete già produttivi, questo libro non vi serve a niente. Perchè non avete comprato la rivista senza libro?"

Comunque, dopo le 5 ore di treno mi sono dovuto ricredere, ho scoperto parecchie cose che non conoscevo su C#, come la possibiltà di create di overloadare (ovviamente nelle proprie classi) i metodi di cast, sia implicito che esplicito, nella stessa maniera nella quale si possono overloadare gli operatori aritmetici e booleani.

Ovviamente, come ogni buon libro di programmazione, fa sorgere i suoi dubbi, e in particolare a me è sono sorto questo:

  • a cosa serve la keyword new quando si parla di polimorfismo?

new

Per ridefinire un metodo di una classe nella sua classe figlia si usa virtual nel padre e override nel figlio, però si può anche mettere la keyword new nella classe figlio omettendo la virtual.

Leggendo sul libro scopro che in realtà non sono la stessa cosa:

Ipotizziamo di avere due classi, Parete e CascataDiGhiaccio, dove CascataDiGhiaccio eretida da Parete, e il metodo Sosta.

public Parete {
    
public virtual String Sosta() {
        
return "Sosta Generica";
    }
}

public CascataDiGhiaccio: Parete {
    
    
// Caso 1
    
public override String Sosta() {
        
return "Sosta con chiodi da ghiaccio";
    }

    
// Caso 2
    
public new String Sosta() {
        
return "Sosta con chiodi da ghiaccio";
    }
    
}

//Caso 1

Parete parete = new CascataDiGhiaccio();
parete.Sosta(); 
//risultato "Sosta con chiodi da ghiaccio"

//Caso 2
Parete parete = new CascataDiGhiaccio();
parete.Sosta(); 
//risultato "Sosta Generica"

Come si vede dal codice sopra, usando il la coppia virtual/override si ottiene l'esecuzione sempre del metodo della classe derivata, mentre usando new ho l'esecuzione del metodo della classe del tipo di dato usato al momento (nel nostro caso Parete).

Visto che in genere si usa il polimorfismo per poter usare la caretteristiche specifiche delle classi figlie, che senso ha usare new, che nella modalità solita di utlizzo invece causa sempre l'esecuzione della classe padre?

powered by IMHO

«gennaio»
domlunmarmergiovensab
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345