Я зашифровал несколько столбцов в таблице sql 2016, используя шифрование столбцов. Теперь я хочу вставить данные в эту таблицу. Я попытался создать хранимую процедуру и выполнить эту процедуру с параметрами, но получаю следующую ошибку.
Несоответствие схемы шифрования столбцов / переменных @lastName. Схема шифрования для столбцов / переменных: (encryption_type = 'PLAINTEXT'), а выражение возле строки '0' ожидает, что это будет (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name BROps_TestDB ') (или слабее).
Кроме того, у меня есть существующее приложение, в котором значения вставляются в таблицу с использованием Entity framework в SQL 2008 (которое мы пытаемся обновить до SQl 2016 для функции постоянного шифрования). Итак, есть ли какой-либо флаг или какой-либо метод, с помощью которого мы можем вставлять данные в SQL 2016 (шифрование столбца) с минимальными изменениями в нашем коде?
Я привел образец кода хранимой процедуры и выполнение этой хранимой процедуры.
CREATE PROCEDURE dbo.AddCustomer
@CustomerID int,
@FirstName nvarchar(25),
@LastName nvarchar(25),
@SIN nvarchar(11),
@CreditCardNumber nvarchar(25),
@EmailAddress nvarchar(50),
@PhoneNumber nvarchar(25),
@TerritoryID int
AS
BEGIN
INSERT INTO [dbo].[Customers]
([CustomerID]
,[FirstName]
,[LastName]
,[SIN]
,[CreditCardNumber]
,[EmailAddress]
,[PhoneNumber]
,[TerritoryID])
VALUES
(@CustomerID,
@FirstName,
@LastName,
@SIN,
@CreditCardNumber,
@EmailAddress,
@PhoneNumber,
@TerritoryID)
END
----------------------------------------
DECLARE @CustomerID int,
@FirstName nvarchar(25),
@LastName nvarchar(25),
@SIN nvarchar(11),
@CreditCardNumber nvarchar(25),
@EmailAddress nvarchar(50),
@PhoneNumber nvarchar(25),
@TerritoryID int
SET @CustomerID = 1
SET @FirstName = 'David'
SET @LastName = 'Postlethwaite'
SET @SIN = '12345-3-ee-3'
SET @CreditCardNumber = '1111-1233-1231-1233'
SET @EmailAddress = '[email protected]'
SET @PhoneNumber = '406555'
SET @TerritoryID = 1
execdbo.AddCustomer @CustomerID,@FirstName,@LastName,@SIN,@CreditCardNumber,@EmailAddress,
@PhoneNumber,@TerritoryID