如何解决Always Encrypted/SS 2017 和 ASP Classic,除了读取操作之外的任何问题
始终加密/SS 2017 和 ASP Classic。对于那些仍在管理 ASP/VBscript 应用程序的少数人来说,这篇文章让我们了解了我现在所处的位置...... How to read SQL Always-encrypted column from classic ASP
我的 ODBC Driver 17 在我的 ASP 的指示下成功解密了我的 AE 加密列!
但是,到目前为止,我在尝试执行以下操作时遇到了以下错误(显然是相当常见的错误):
- 使用我现有的 vbScript/SQL 或 “验证”用户
- 使用我现有的 vbScript/SQL“添加记录”或
- 使用 SSMS“更改加密列的大小”。
Microsoft OLE DB Provider for ODBC Drivers 错误“80040e07” [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]操作数类型冲突:varchar 与使用 (encryption_type = 'DETERMINISTIC',encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name_key_name_key_data_encryption_key_name_加密的 varchar(8000) 不兼容'XXXX_db') collation_name = 'SQL_Latin1_General_CP1_CI_AS'
在确认 AE 应该通过多种资源支持我的需求后(“使用确定性加密允许相等搜索”),
我认为这与以下内容有关:
-
AE 将加密列的“排序规则”更改为 Latin1_General_BIN2...
-
我的加密列“nvarchar(15)”可能在我声明时被解释为 varchar(8000) (15)...
-
一些基本的东西,当我的 ASP 试图呈现原始数据时,用我的驱动程序加密,进行相等比较或插入到加密列......
我在 AE 上花了很多时间,非常感谢任何指导或支持?总之,帮助。
解决方法
好的,谢谢你的帮助!对于那些找到此主题并需要答案的人...以上是 3) 一些基本内容。
确保您传递的是“可变参数”而不是输入值或其他内容。从 A 到 B 的简单修复解决了我的问题。
A) MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2",200,1,15,Request.Form("pwd"))
乙) PwdVar = Request.Form("pwd") MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2",PwdVar)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。