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

¿Fue útil?

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
scroll top