【发布时间】:2017-10-19 16:46:38
【问题描述】:
我有一个已经运行了很长时间的 Windows 窗体应用程序,现在我必须加密/解密数据库中的某些列。我在我的数据库上进行了所有配置,将我的列配置为加密,将列的数据类型从varchar(max) 更改为nvarchar(max),在 Windows 商店创建证书,为客户端导出证书,现在我正在尝试完成这项工作在客户端。
我将 windows 窗体应用程序框架更改为 4.6,将 Column Encryption Setting=enabled 添加到我的连接字符串中,更新了 .dbml 设计器,但尝试插入值时仍然出现以下错误:
操作数类型冲突:使用 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto1', column_encryption_key_database_name = 'MCM_V2') collation_name = 'Greek_CI_AS' 加密的 varchar(8000) 与 varchar 不兼容用 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto1', column_encryption_key_database_name = 'mydb') collation_name = 'Greek_BIN2' 加密
我正在使用 Linq 进行查询
【问题讨论】:
标签: c# sql-server linq always-encrypted