Ensambles de servidor SQL y tipo de datos SQLBinary
-
03-07-2019 - |
Pregunta
Tengo un ensamblado de C # que toma una variable SQLBinary para descifrar ...
[SqlProcedure(Name="Decrypt")]
public static SqlInt32 Decrypt(SqlBinary toDecrypt)
{
return runQuery(toDecrypt);
}
// decrypt or encrypt is determined based on the datatype of argValue
private static SqlInt32 runQuery(object argValue)
{
// create connection and command
command.Parameters.Add("@argValue", SqlDbType.VarBinary, 1024).Value = (SqlBinary)argValue;
Incluyo el (SqlBinary) argValue como una columna en la instrucción select para una depuración simple. No parece que este valor SqlBinary se esté colocando correctamente en la consulta.
argValue se está utilizando así:
QueryString += "SELECT decryptbykey(@argValue);";
Lo que se devuelve parece una versión truncada de (SqlBinary) argValue
Solución
Respuesta a mi propia pregunta:
Tuve que lanzar el resultado de descifrar clave a un varchar ... duh! :)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow