У меня есть сборка c #, которая принимает для расшифровки переменную SQLBinary ...
[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;
Я включаю (SqlBinary) argValue в качестве столбца в операторе select для простой отладки. Не похоже, что это значение SqlBinary правильно помещено в запрос.
argValue используется так:
QueryString += "SELECT decryptbykey(@argValue);";
Возвращаемое выглядит как усеченная версия (SqlBinary) argValue