J'ai créé une table à l'aide:SQL Server 2016 - Est-il possible de concaténer deux colonnes toujours cryptées nvarchar?
create table dbo.employee(firstname nvarchar(100) null,lastname nvarchar(100) null)
Inséré des données échantillon à l'aide:
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')
J'ai ensuite utilisé toujours Assistant crypté pour crypter les deux colonnes de ce tableau à l'aide SSMS v17. Et maintenant, je suis en train de concaténer prenom avec nom comme celui-ci:
select concat(firstname, lastname) from dbo.employee
Et il me donne ci-dessous erreur:
Operand type clash: nvarchar(100) encrypted with (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') is incompatible with varchar
Quand j'essaie ceci:
select firstname + lastname from dbo.employee
Il donne suite erreur:
Encryption scheme mismatch for columns/variables 'firstname', 'lastname'. The encryption scheme for the columns/variables is (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') and the expression near line '1' expects it to be (encryption_type = 'PLAINTEXT') (or weaker).
Toute aide appréciée.
s'y attend à être (encryption_type = 'PLAINTEXT') (ou plus faible). Cette information n'est-elle pas suffisante? – user6144226