关于项目中 "不能创建大小为 8190 的行,该大小大于所允许的最大行大小 8060 "的处理
由于产品底层设计的情况,sqlserver 列设置了 可以随用户 创建自动生成
项目特殊,设置的列过多,有三四百列(通常不会过多)
数据无法正常保存,报错”不能创建大小为 8190 的行,该大小大于所允许的最大行大小 8060 “,
数据库每一列都是数据加密存储
第一步:怀疑了代码中sql语句过长,sql参数过多,尝试分批执行 ,依然报错
第二步:查阅相关资料得知,数据中一行的数据,如果存数据字节总大小 超过 8060 是不允许的。
因为我们的列都是 varbinary的列,又因为每一列 数据需要加密存储,尝试改为指针类型字段例如text,
考虑字段过多,同时数据过大,以及涉及到代码中字段类型处理的地方较多,最终放弃。
第三步:查阅资料尝试 重建索引,依然未成功
第三步:因为原始数据,都是数值类型,只是使用加密算法之后,每一列字节都超过70.查阅sql的内置加密函数(
SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)
ENCRYPTBYASYMKEY() --非对称密钥
ENCRYPTBYCERT() --证书加密
ENCRYPTBYKEY() --对称密钥
ENCRYPTBYPASSPHRASE() --通行短语(PassPhrase)加密
)
找到的相关函数 ,包括当前项目在用的短语加密,进行尝试之后,发现,加密之后的 字节都时很长,最终放弃
最终解决方案:自己写了一个密码表,进行数据加密解密(缩短加密之后的数据),同时算法中支持历史数据的解密,再次保存是会以新的加密方式进行保存
当然这也许是 不治本的方式,每个项目都有其历史因素,和项目本身的特殊性,综合行业情况,以及项目因素,也是一个 可以接受的解决方式了。
关于项目中 "不能创建大小为 8190 的行,该大小大于所允许的最大行大小 8060 "的处理的更多相关文章
- 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
//在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’:输出这个数组中的所有元素. char [][]y=new char [10][10 ...
- 在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行
package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) ...
- 在dotnetcore的MVC项目中,创建支持 vue.js 的最小工程模板
网上Vue模板不是最新的,我自己做了一个最新的支持 Vue.js 的最小工程模板,方便大家从 Hello world. 入门, 在 VS2017 里学习,并扩展出自己的项目. 下面是创建步骤: 1.在 ...
- 1000多个项目中的十大JavaScript错误以及如何避免
通过统计数据库中的1000多个项目,我们发现在 JavaScript 中最常出现的错误有10个.下面会向大家介绍这些错误发生的原因以及如何防止. 对于这些错误发生的次数,我们是通过收集的数据统计得出的 ...
- C#项目中怎样创建和使用类和类库
创建一个类库项目在“文件”菜单上,选择“新建项目”. 在“新建项目”对话框的“模板”窗格中,单击“类库”. 在“名称”框中键入 Persons,再单击“确定”. 把“添加新解决方案”勾选掉,选择“添入 ...
- json在项目中的应用大总结
一.摘要 刚开始接触json的时候,那时候还不太清楚json到底是个什么东西,然后就在项目中使用了它.因为没有搞明白json的本质,所以刚开始使用json的时候走了不少弯路.这次总结一些json的知识 ...
- maven项目中如何创建web.xml
在web工程创建时创建web.xml:用Eclipse新建一个web项目没有自动生成web.xml 在创建maven工程时,大多没有创建web.xml文件,web.xml路径:src/main/web ...
- 按要求编写Java应用程序。 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
int[]x=new int [50]; char[][]y=new char[10][10]; int j=1,w=0; for(int i=0;i<50;i++) { x[i]=j; j+= ...
- 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
package liu0915; import java.util.Random; public class Test0915sz { public static void main(String[] ...
- 16.按要求编写Java应用程序。 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
//分类 package com.bao; public class Shuchu { int[]yi=new int[50]; String[][]er=new String[10][10]; vo ...
随机推荐
- 从韩国客机事故看Java异常处理机制:保障程序的“安全着陆”
当地时间12月29日上午9时,韩国济州航空编号7C2216航班坠毁于韩国务安机场,除救出的两人外,预计事故其余人员全部遇难.据了解,失事客机因起落架故障准备进行机腹着陆,在此过程中发生事故,最终与机场 ...
- 史上最全的Cursor IDE教程
Cursor IDE 使用教程 1. 快速上手 1.1 入门流程 graph TD A[安装Cursor] --> B[首次启动] B --> C[选择主题和配置] C --> D[ ...
- Solution -「WC 2014」「洛谷 P3920」紫荆花之恋
\(\mathscr{Description}\) Link. 维护一棵树,初始时树空.接下来 \(n\) 次操作,每次操作加入一片叶子 \(u\),\(u\) 到其邻接点的边权为 \(w\) ...
- C#/.NET/.NET Core技术前沿周刊 | 第 21 期(2025年1.6-1.12)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- 【译】使用 Visual Studio Profiler 进行基准测试
在 Visual Studio 17.13 预览版中,我们发布了更新的 BenchmarkDotNet 诊断器,允许您使用性能分析器中的更多工具来分析基准测试.有了这个变化,可以非常快速地挖掘 CPU ...
- cmake-3
本节内容,转载文章:https://www.zhihu.com/column/c_200294809 :参考程序:https://github.com/BrightXiaoHan/CMakeTutor ...
- 隐私集合求交(PSI)-多方
本文主要讲解一个多方的PSI协议,文章转载:隐私计算关键技术:多方隐私集合求交(PSI)从原理到实现以及多方隐私求交--基于OPPRF的MULTI-PARTY PSI:原论文:Practical Mu ...
- java中的集合ArrayList
创建集合对象有3种形式 1,不需要传递构造参数,直接new就可以,此时底层数组为空数组. 2,构造参数需要传递一个int类型的值, 用于设置底层数组的长度 3,构造参数需要传递一个Collection ...
- Linux安装Jenkins指南
Linux安装Jenkins指南 Jenkins,作为一款开源的自动化服务器,广泛用于持续集成和持续部署(CI/CD)流程中.它提供了强大的插件生态系统,使得集成各种开发工具.版本控制系统和构建工具变 ...
- 水往低处流:最大流的最高标号预留推进算法(HLPP)
上期回顾:https://www.cnblogs.com/ofnoname/p/18678895 之前我们已经介绍了最大流问题的基本定义,让从源点流出的总流量达到最大,同时不违反任何管道的运输能力限制 ...