【问题标题】:User Defined Table Type Parameter with Always Encrypted始终加密的用户定义表类型参数
【发布时间】:2015-12-11 16:50:06
【问题描述】:

我将用户定义的表类型 (idlist) 的 SQL 参数传递给存储过程 - 在我将 Column Encryption Setting=Enabled; 添加到 web.config 以使应用程序与 SQL 的 Always Encrypted 一起工作之前,一切都运行良好功能。

var paramFilterFacilityList = new SqlParameter();
paramFilterFacilityList.ParameterName = "@f";
paramFilterFacilityList.TypeName = "dbo.idlist";
paramFilterFacilityList.Value = fValue;
paramFilterFacilityList.SqlDbType = SqlDbType.Structured;

引发的异常是:

表类型参数“@f”必须有一个有效的类型名称。

对这里可能发生的事情有什么想法吗?

【问题讨论】:

    标签: c# sql-server sql-server-2016 always-encrypted


    【解决方案1】:

    Always Encrypted 不支持 TVP。当您使用启用“列加密设置”时,您根本无法使用 TVP。

    【讨论】:

      【解决方案2】:

      目前,我们在任何受支持的驱动程序(.NET / ODBC / JDBC)中都没有对 TVP 和 Always Encrypted 的内置支持。请查看我在 https://blogs.msdn.microsoft.com/sqlcat/2016/08/09/using-table-valued-parameters-with-always-encrypted-in-sql-server-2016-and-azure-sql-database/ 的博客文章,其中提出了解决方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 1970-01-01
        • 2018-02-23
        相关资源
        最近更新 更多