Estamos valores de cadena de tiendas en una base de datos utilizando el tipo varbinary usando C# y BinaryFormatter.We convertir en matriz de bytes y luego guardar la base de datosConvertir matriz de bytes a cadena mediante 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, así que si salvamos char "a", podemos ver "0x0001000000FFFFFFFF0100000000000000060100000001610B" en la base de datos. Después de que podamos recuperar los datos y convertir nuevamente a cadena.
¿Podemos convertir este valor binario ("0x0001000000FFFFFFFF0100000000000000060100000001610B") en char ("a") solo utilizando transacciones SQL (para que podamos hacer modificaciones, inserciones, comparaciones desde la consola del servidor sql)?
Muchas gracias.
Gracias a Rubens, pero esta técnica se usa para otro marco (Entlib Contrib http://entlibcontrib.codeplex.com/) y no puedo cambiarla. Lo usan porque entonces pueden almacenar más tipos: enteros, cadenas, imágenes, etc. y queremos (solo cuando el tipo es cadena) convertir estos valores almacenados a la cadena – Oscar
Oscar, ¿puede ser útil 'BitConverter.GetBytes'? –
pero este es un método del framework .Net, ¿o no? Quiero usar solo SqlConsole. Lo estoy programando usando funciones CLR Sql, según Kleinux. Gracias de nuevo. – Oscar