SqlSugar常见问题汇总
1、已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
There is already an open DataReader associated with this Connection which must be closed first.
或者出现 connection is closed
出现这个错一般是线程安全引起的
解决方案: https://www.donet5.com/Home/Doc?typeId=1224
2.The connection does not support MultipleActiveResultSets
(1)、SqlSugarClient 替换成 SqlSugarScope ,因为SqlSugarScope 是线程安全对象代码容错率高
具体用法: https://www.donet5.com/Home/Doc?typeId=1181
(2) 、异步用法错引起的 ,排查没用Await调用的异步方法
Public void GetAll(){ 异步方法 }//错误Public async Task GetAll(){ 异步方法 }//错误Public async Task GetAll(){ await 异步方法 }//正确 |
3. max_allowed_packet MYSQL
一般提示这个错可能一次更新的内容太多,可以分页操作
db.Utilities.PageEach(allList, 10000 ,pageList=> { db.Insertable(pageList).ExecuteCommand();}); |
4、实体与表映射出错
出现这个错一般是 数据库中的类型和实体中的类型不一样引起的,可以注释实体类中的字段进行排除哪个字段引起的
5、Only one primary key
当前功能只支持单主键,看看实体类有没有与置主键,并且主键只能有一个,或者数据库是否有主键并且只能有一个
6、未安装或者版本冲突
打开 Web层或者WinFom的项目,查看 App.config 有没有下面这种兼容配置,如果没这种配置这个DLL就会报错,
想办法搞出来,一般NUGET在当前项目安装 SqlSugar然后在安装报错的DLL NUGET会自动添加到app.config
例1:
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> </dependentAssembly> |
例2:
<dependentAssembly> <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.27.0" newVersion="8.0.27.0" /> </dependentAssembly> |
如果没有先安装SqlSugar,在安装报错dll
7、雪花ID重复
不同电脑 本地或者服务器 要用不同的WorkId ,如果服务器时间回调也要设置WorkId
8、Cannot Open when State is Connecting.
解决方案: https://www.donet5.com/Home/Doc?typeId=1224
9、连接不上数据库
原生能用SqlSugar就能用,一定要用db.CurrentConfig.ConnectionString保证是同一个字段串,并且在同一个程序
//用原代码进行测试//SqlSerer var conn=new SqlConnection(db.CurrentConfig.ConnectionString).Open();conn.Close();//MySql用var conn=new MySqlConnection(db.CurrentConfig.ConnectionString).Open();conn.Close();//不同的数据库不同 ,一般根据DbType+Connection |
10、截断二进制
Data too long for column
数据库字段太小引起的
11、特殊表字段名带有.或者()这字符兼容
因为考虑性能,比如数据库里面字段名字叫: 金额(元) ,生在SQL如下 where [金额(元)]=@金额(元) ,字段能转译参数名做不到所有都过滤,
这样参名字会报错,所以ORM提供了AOP来处理这个问题
db.Aop.OnExecutingChangeSql = (s, p) => { foreach (var item in p) { if (item.ParameterName.Contains("(")) { var oldName = item.ParameterName; //重点看这儿,把参数名变成正常的名字 item.ParameterName = item.ParameterName .Replace("(", "_") .Replace(")", "_") .Replace(".", "_"); s = s.Replace(oldName, item.ParameterName); }; } return new KeyValuePair<string, SugarParameter[]>(s, p); }; |
12、与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
(1) 出现这个错一般是超过数据库处理上限,可以用异步提升性能,max pool size字符串设置大些
(2) 并发不高情况一般是线程安全引起的, 看文档:偶发错误
13、The connection was not closed. The connection's current state is connecting
看文档:偶发错误
14、参数名有空格特殊符号
对性能会有影响,能局部修改配置就局部,尽量不要全局使用
//全局生效SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ ConnectionString = $"Data Source={dbFileName};", DbType = DbType.Sqlite, IsAutoCloseConnection = true, MoreSettings = new ConnMoreSettings { IsCorrectErrorSqlParameterName= true, // 5.1.4.111及以上版本 }});//局部生效db.CurrentConnectionConfig.MoreSettings=new MoreSettings(){ IsCorrectErrorSqlParameterName= true} |
15、Connect Timeout expired. All pooled connections are in use
并发不高出现这个错一般是线程安全问题
SqlSugar常见问题汇总的更多相关文章
- CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- SVN集中式版本控制器的安装、使用与常见问题汇总
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客 ...
- H5项目常见问题汇总及解决方案
H5项目常见问题汇总及解决方案 H5 2015-12-06 10:15:33 发布 您的评价: 4.5 收藏 4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...
- Installshield脚本拷贝文件常见问题汇总
原文:Installshield脚本拷贝文件常见问题汇总 很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效?引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟 ...
- MVC 网站部署常见问题汇总
一:TGIShare项目是一个MVC5的网站程序,部署在了IIS上,使用的Windows验证方式,并在本机设置了计划任务定时调用某个地址执行命令.问题汇总如下: 1.Window Server 200 ...
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
- mysql进阶(十六)常见问题汇总
mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是 ...
- 转---CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- (转)CloudStack 安装及使用过程中常见问题汇总
CloudStack 安装及使用过程中常见问题汇总 在做工程项目中对CloudStack 安装及使用过程中常见的几个问题及如何解决做一个总结. 1.Windows XP虚拟 ...
- thymeleaf的常见问题汇总
thymeleaf的常见问题汇总 1.thymeleaf th:href 多个参数传递格式 th:href="@{/Controller/update(param1=1,param2=${p ...
随机推荐
- Spring事务传播机制解析
确保数据一致性的关键 在Java的Spring框架中,事务管理是保证应用数据一致性和可靠性的关键.Spring提供了灵活的事务传播机制,它定义了事务边界,以及在嵌套方法调用时如何处理事务.本文旨在深入 ...
- CodeFormer一款既能人脸修复、还能视频去码的AI软件,附下载使用教程
CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强.它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果 工作原理 1.通过自动 ...
- Codeforces Round #671 (Div. 2) (A - B、D1题)
比赛链接:https://codeforces.com/contest/1419 https://codeforces.com/contest/1419/problems A. Digit Game ...
- 关于 Windows10升级版本后,内存占用率居高不下的解决办法
一个月前,打开系统更新,win 10 推送了 最新版本. 然后手贱点了更新. 的确一开始没觉得的有什么明显变化,但最近总觉得机子卡的卡的严重,查看了下内存,占用率居高不下. 经常才打开一两个软件内存就 ...
- Python的excel文件读写(未完)
写在前面: 因为每次用到都要查感觉太烦了,所以干脆写了一篇博客总结( •̥́ ˍ •̀ू ) 一.xlwt写入excel文件(.xls) import xlwt data1=[[1,2,3,4],[5 ...
- shell脚本(8)-流程控制if
一.单if语法 1.语法格式: if [ condition ] #condition值为 then commands fi 2.举例: [root@localhost test20210725]# ...
- Synchronized的使用及原理总结
本文为博主原创,未经允许不得转载 Synchronized的使用总结: 1.作用 原理 synchronized 的锁膨胀升级过程 对象的内存布局 锁的消除及逃逸分析 synchronized的方 ...
- Multi-Master APB Interconnect
APB总线并不是只有一个master(AHB2APB Bridge),可以通过设计支持多个APB Master,只是比较复杂 Lattice 实现了一款Multi-Master Interconnec ...
- win11不改时区,安装 android 子系统,运行android app
win11开启虚拟机平台 下载安卓子系统 打开https://store.rg-adguard.net , 在URL中输入:https://www.microsoft.com/store/produc ...
- Java中有哪些方式能实现锁某个变量
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 在Java中,有几种方式可以实现对某个变量的锁定 ...