我使用以下方法创建了一个表:
create table dbo.employee(firstname nvarchar(100) null,lastname nvarchar(100) null)
使用以下方法插入了一些示例数据:
insert into dbo.employee values('Sachin','Tendulkar')
insert into dbo.employee values('Rohit','Sharma')
insert into dbo.employee values('Virendra','Sehwag')
insert into dbo.employee values('Irfan','Pathan')
然后我使用始终加密向导使用 SSMS v17 加密此表的两列。现在我正在尝试将名字与姓氏连接起来,如下所示:
select concat(firstname, lastname) from dbo.employee
它给了我以下错误:
操作数类型冲突:使用 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'SampleDB_CEK', column_encryption_key_database_name = 'SampleDB') 加密的 nvarchar(100) 与 varchar 不兼容
当我尝试这个时:
select firstname + lastname from dbo.employee
它给出以下错误:
列/变量“名字”、“姓氏”的加密方案不匹配。列/变量的加密方案是 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'SampleDB_CEK', column_encryption_key_database_name = 'SampleDB') 并且行 '1' 附近的表达式期望它是 (encryption_type = ' PLAINTEXT')(或更弱)。
任何帮助表示赞赏。