Gestire XML in SQL Server 2008

di il
8 risposte

Gestire XML in SQL Server 2008

Ciao a tutti,
ho un problema con la gestione di un campo di un database SQL server 2008. Questo campo nvarchar(max) ha all'interno dei dati in formato xml :

<Address>
  <ID></ID>
  <NickName/>
  <FirstName></FirstName>
  <MiddleInitial/>
  <LastName></LastName>
</Address>
come posso effettuare una query per gestire i valori presenti in questo campo ???

Grazie mille per la diponibilità

8 Risposte

  • Re: Gestire XML in SQL Server 2008

    Guarda chi c'è! bentornato è da un po' che non ci sentiamo
    Già prenotato il viaggio per il ritorno nella sacra terra? io vado mese prossimo!!!

    L'utilizzo di XML su SQL server lo puoi fare sia con vecchi metodi e cioè con un campo nvarchar e facendoti query di aggiornamento tramite replace di sottostringhe ecc. Oppure con un bel campo di tipo XML su cui puoi lavorarci con interrogazioni XQuery.
    Prova a vedere con il secondo metodo se trovi qualche tutorial che ti può venitre in aiuto.

    Un saluto!
  • Re: Gestire XML in SQL Server 2008

    Ehi ciao Toki,
    guarda è una lunga storia.. sono sceso tutto il mese di maggio perché l'azienda in cui lavoravo non era messa bene e non mi ha rinnovato il contratto.. sono ritornato a Milano da circa 2 settimane dato che ho trovato un nuovo lavoro.. mi sa che per quest'anno non mangerò neanche una granita . Comunque io mi trovo a gestire un campo nvchar(max) presente in una tabella e non ho la minima idea di cosa fare .. puoi farmi qualche esempio di codice ?
    Grazie mille Toki, sei sempre un grande
  • Re: Gestire XML in SQL Server 2008

    Azz, mi spiace per il problema lavorativo, speriamo che con questa nuova azienda ti trovi meglio.

    Il campo nvarchar è testo, c'è poco da fare, non puoi pretendere che faccia più di quello per cui è stato pensato.
    Se l'isola dati XMl è quella, il problema è gestibile con un semplice replace. Puoi magari farti una funzione o una stored procedure che accetta in ingresso i nuovi valori per la struttura. Li sostituisce in una stringa che rappresenta l'isola dati nella quale al posto dei valori ci sono le variabili e poi va in update sulla tabella.

    Fammi sapere se sono stato chiaro
  • Re: Gestire XML in SQL Server 2008

    Chiarissimo come sempre Toki,
    senza di te non so come avrei fatto, non è una cosa semplice da realizzare ma comunqe
    ho iniziato a fare i primi tentativi e sembra funzionare. Se ho problemi ti romperò di nuovo le scatole.Grazie Milleee
  • Re: Gestire XML in SQL Server 2008

    Ciao toki,
    volevo chiederti un 'ultima cosa so che è off topic ma è una cavolata. Come posso usare la funzione che ho creato con linq . Mi spiego meglio, come hai detto tu ho creato una funziona in sql che estrapola le sottostringhe presenti nel campo con i valori xml, funziona tutto perfettamente quindi mi chiedevo come potevo utilizzare la suddetta procedura con linq e c#.
    ciao e grazie mille
  • Re: Gestire XML in SQL Server 2008

    Tranquillo, non sei off topic!!

    Se non ricordo male, le funzioni le puoi usare come stored procedure, quindi se hai usato un datacontext linqtosql, puoi fare benissimo:
    myDataContext db = new myDataContext();
    var result= db.TuaFunzione(campo1, campo2, .., campoN).SingleOrDefault();

    Cosi facendo puoi farti restituire un eventuale messaggio di errore o un resulset.
    Se non va come funzione trasformala in stored procedure.

    Un saluto
  • Re: Gestire XML in SQL Server 2008

    Graaaaaaaaaaaaaazie mille,
    ovviamente funziona tutto perfettamente. Mi chiedo come fai a ricordarti la sintassi di tutti i linguaggi del forum, ahahaha sei un genio toki , ciao ciao
  • Re: Gestire XML in SQL Server 2008

    Ciao mi fa piacere che hai risolto!
    Per i linguaggi non li conosco mica tutti quelli del forum, se cosi fosse stato mi avrebbeto già ricoverato in qualche ospedale psichiatrico

    Un salutone
Devi accedere o registrarti per scrivere nel forum
8 risposte