0

如何使用 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();

我收到此错误:

附加信息:使用 (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') collat​​ion_name = 'Latin1_General_BIN2' 和 varchar 加密的数据类型 varchar(20) 在等于操作员。

4

1 回答 1

1

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

请参考以下链接。

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

应该在 dotnet 4.6 及更高版本上使用大多数受支持的功能。请在我的评论中通过私人链接浏览一些好的信息

于 2016-10-27T07:15:02.747 回答