문제

해독하기 위해 sqlbinary 변수를 취하는 AC# 어셈블리가 있습니다 ...

[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;

간단한 디버깅을 위해 SELECT 문에 (sqlbinary) argvalue를 열로 포함시킵니다. 이 sqlbinary 값이 쿼리에 올바르게 배치되는 것처럼 보이지 않습니다.

Argvalue는 그렇게 사용되고 있습니다.

QueryString += "SELECT decryptbykey(@argValue);";

반환되는 것 (Sqlbinary) Argvalue의 잘린 버전처럼 보입니다.

도움이 되었습니까?

해결책

내 질문에 대한 답변 :

나는 Decryptbykey의 결과를 Varchar에 던져야했다 ... Duh! :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top