C# 操作数类型冲突:varchar(255)encrypted与varchar-存储过程(带上限-始终加密)不兼容
我一直在使用加密的SQL Server和C#程序 调用存储过程(此SP不需要传递任何参数)时,会得到一个操作数类型clashC# 操作数类型冲突:varchar(255)encrypted与varchar-存储过程(带上限-始终加密)不兼容,c#,sql-server,C#,Sql Server,我一直在使用加密的SQL Server和C#程序 调用存储过程(此SP不需要传递任何参数)时,会得到一个操作数类型clashvarchar(255) 当我回到我的SSMS时,我从我的请求中删除了调用加密列,一切正常。当我再次添加加密列时,我一次又一次地得到错误 下面是存储过程: CREATE PROCEDURE TestProcedure AS BEGIN SET NOCOUNT ON; select UPPER(u_nom) from Utilisateur END GO 这就是我得到
varchar(255)
当我回到我的SSMS时,我从我的请求中删除了调用加密列,一切正常。当我再次添加加密列时,我一次又一次地得到错误
下面是存储过程:
CREATE PROCEDURE TestProcedure AS
BEGIN SET NOCOUNT ON;
select
UPPER(u_nom) from
Utilisateur
END GO
这就是我得到的错误:
操作数类型冲突:使用(加密类型='DETERMINISTIC',加密算法名称='AEAD\U AES\U 256\U CBC\U HMAC\U SHA\U 256',列加密\U key\U name='CEK\U Auto1',列加密\U key\U数据库名称='MyBase')排序规则加密的varchar(255)与varchar不兼容
我是如何加密该列的,请在此处输入图像描述
在客户端进行加密和解密。请尝试在加密列上不使用upper(),谢谢您。当然,我试着不穿上装,没关系。这就是我写这篇文章的原因。存储过程由我的客户机调用:MSSMS或.net代码,因此。。。有什么问题吗?:)