我正在尝试使用DETERMINISTIC类型的加密列执行SP。 我收到以下错误:
消息206,级别16,状态2,过程sp_ConvertCard_advancedSearch,第0行[批处理开始第22行]
操作符类型冲突:varchar与使用(encryption_type ='DETERMINISTIC',encryption_algorithm_name ='AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name ='idan_test_col',column_encryption_name ='p_database'加密的nvarchar(50)不兼容
消息206,级别16,状态2,过程sp_ConvertCard_advancedSearch,第0行[批处理开始第22行]
操作符类型冲突:varchar与使用(encryption_type ='DETERMINISTIC',encryption_algorithm_name ='AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name ='idan_test_col',column_encryption_name ='p_database'加密的nvarchar(50)不兼容
存储过程:
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?
答案 0 :(得分:0)
好吧,“问题”是我试图执行
这样的存储过程。 exec [sp_ConvertCard_advancedSearch] '123456789'
当我通过SqlCommand参数从Visual Studio中执行它时,它就起作用了。
谢谢。