Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

CLR:aggregato multiparametro, argomento non nell'output finale?

Il problema qui è che non si serializza il delimitatore. Aggiungi:

w.Write(delimiter)

come prima riga nel tuo metodo Write e

delimiter = r.ReadString();

come prima riga nel tuo metodo di lettura.

Per quanto riguarda le tue domande per la soluzione alternativa suggerita:

Non è così. Ha semplicemente funzionato con il tuo scenario di test.

Il metodo di scrittura deve essere compatibile con il metodo di lettura. Se scrivi due stringhe e ne leggi solo una, non funzionerà. L'idea qui è che il tuo oggetto possa essere rimosso dalla memoria e quindi caricato. Questo è ciò che Scrivi e Leggi dovrebbero fare. Nel tuo caso, questo stava effettivamente accadendo e non sei stato in grado di mantenere il valore dell'oggetto.