Siamo deposito di valori di stringa in un database utilizzando tipo varbinary utilizzando C# e BinaryFormatter.We convertire in array di byte e poi Salva nel databaseConverti array di byte di stringa utilizzando Transact-SQL
public static byte[] ToBytes(stringvalue)
{
if (value == null)
return null;
byte[] inMemoryBytes;
using (MemoryStream inMemoryData = new MemoryStream())
{
new BinaryFormatter().Serialize(inMemoryData, value);
inMemoryBytes = inMemoryData.ToArray();
}
return inMemoryBytes;
}
OK, Quindi, se risparmiamo char "a", possiamo vedere "0x0001000000FFFFFFFF0100000000000000060100000001610B" nel database. Dopo aver recuperato i dati e convertito nuovamente in stringa.
Possiamo convertire questo valore binario ("0x0001000000FFFFFFFF0100000000000000060100000001610B") in char ("a") usando solo transact SQL (in modo che possiamo fare modifiche, inserti, confronti dalla console del server sql)?
Grazie mille.
Grazie Rubens, ma questa tecnica è utilizzata per un altro framework (Entlib Contrib http://entlibcontrib.codeplex.com/) e non posso cambiarlo. Lo usano perché quindi possono memorizzare più tipi: interi, stringhe, immagini ecc. Ecc. E vogliamo (solo quando il tipo è stringa) convertire questi valori memorizzati nella stringa – Oscar
Oscar, può essere utile 'BitConverter.GetBytes'? –
ma questo è un metodo dal framework .Net, vero? Voglio usare solo SqlConsole. Lo sto programmando usando le funzioni CLR Sql, secondo Kleinux. Grazie ancora. – Oscar