Использование всегда зашифрованного внутри хранимой процедуры SQL-сервера - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь выполнить SP с зашифрованным столбцом типа DETERMINISTIC. Я получаю следующую ошибку:

Сообщение 206, Уровень 16, Состояние 2, Процедура sp_ConvertCard_advancedSearch, Строка 0 [Строка пакетного запуска 22]

Столкновение с типом операнда: varchar несовместим с nvarchar(50) зашифровано с помощью (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'idan_test_col', column_encryption_key_database_name_name_2_dard_name_2_2_d_2_S_S_2_S_S_S_2_S_S_2_S_S_W_2_S_S_S_2_S_T_W_2_S_S_W_2_S_S_W_2_S_S_W_2_T_S_T___S_W_2_S_T_______R_S___S_S_S_S_S_S_S_S_S_S_S_S_C_HD[Стартовая строка 22]

Столкновение с типом операнда: varchar несовместим с nvarchar (50), зашифрованным с помощью (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_en_name_name_name_name_name_name_name_ject_name_ject_name_ject_name)

Хранимая процедура:

ALTER PROCEDURE [dbo].[sp_ConvertCard_advancedSearch]
       @token nvarchar(50) = null
AS 

SET NOCOUNT ON
BEGIN
   -- Insert statements for procedure here

                           SELECT
                                  *
                           FROM
                                  ConvertCard
                           WHERE
                                  Token = @token

              -- order by

                           ORDER BY Id DESC

END

Итак, мой вопрос: как правильно выполнить этот SP, чтобы он работал?

  • Я использую Включить Parameterizaдля всегда зашифрованного
  • Я добавил параметр шифрования столбца = включен в дополнительных параметрах соединения в SSMS

1 Ответ

0 голосов
/ 29 октября 2019

Что ж, «проблема» заключалась в том, что я пытался выполнить хранимую процедуру, как

exec [sp_ConvertCard_advancedSearch] '123456789'

Когда я выполнял ее из Visual Studio через параметры SqlCommand, она работала.

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...