SQL Server 2016 Always Encrypted 列内部连接 ​​c#

SQL Server 2016 Always Encrypted column inner join c#

如何与 Always Encrypted 列进行连接?我试过了(name是加密列)

sqlcon();
cmd = new SqlCommand("select determin.name as name from determin inner join determinjoin on determin.name = determinjoin.name ", con);

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
    Console.WriteLine(dr["name"]);
}

Console.ReadLine();
con.Close();

我遇到了这个错误:

Additional information: The data types varchar(20) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto4', column_encryption_key_database_name = 'depdb') collation_name = 'Latin1_General_BIN2' and varchar are incompatible in the equal to operator.

您必须在连接字符串中将 ColumnEncryptionSetting 值设置为 Enabled 才能使其正常工作。

请参考下文link。

https://msdn.microsoft.com/en-us/library/mt757097.aspx

应该在 dotnet 版本 4.6 及更高版本上使用大部分支持的功能。请在我的评论

中浏览来自私人link的一些好信息