传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确
记录一次很少见的Sql异常排查,异常内容:
传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 5 ("@TestValue"): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值。
详细的异常信息如下:
System.Data.SqlClient.SqlException (0x80131904): 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 5 ("@TestValue"): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值。at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite, String methodName)at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
乍一看异常信息提示的很明显,@TestValue参数的值不是有效的float类型。
但是前端调用接口时,传参也指定了有效的数值,困惑~
{testValue: 10
}
经过一顿源码分析,发现原来是由于一些业务逻辑的计算(由于脏数据导致了除0行为),最终导致了@TestValue参数的值变成了NAN,从而导致了上述异常的发生。
顺便来个小测试:
Console.WriteLine($"0/0.0d = {0 / 0.0d}");
// 输出:0/0.0d = NaNConsole.WriteLine($"0/0.0f = {0 / 0.0f}");
// 输出:0/0.0f = NaNint nZero = 0;
//此处需要将除数0声明为变量nZero传入表达式,否则编译不通过
Console.WriteLine($"0/0 = {0 / nZero}");
//引发异常:System.DivideByZeroException:“尝试除以零。”decimal dZero = 0.0m;
//此处需要将除数0.0m声明为变量dZero传入表达式,否则编译不通过
Console.WriteLine($"0/0.0m = {0 / dZero}");
//引发异常:System.DivideByZeroException:“尝试除以零。”
有没有发现猫腻?
- 0除以浮点类型(float和double)的0 返回的是NAN
- 0除以十进制类型decimal的0会抛出System.DivideByZeroException异常
- 0除以整型(有符号和无符号)的0会抛出System.DivideByZeroException异常
传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确相关推荐
- 转:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 .
近期在做淘宝客的项目,大家都知道,淘宝的商品详细描述字符长度很大,所以就导致了今天出现了一个问题 VS的报错是这样子的 " 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 ...
- 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (“@xx“): 对于类型特定的元数据,数据类型 0x62 (sql_variant)的类型无效。
传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.参数 1 ("@xx"): 对于类型特定的元数据,数据类型 0x62 (sql_variant)的类型无效. 解决 ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。
sqlserver在做批量插入的时候出现这个错误: com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC ...
- 雅客EXCEL(6)-通用表格格式、销售实际案例(总结之前的知识点)
文章目录 1.通用表格格式 2 .销售实际案例 1.删除空格 2.添加序号 3.取消合并单元格 4.数据原子化 5.取消乱加表头 6.删除空行 7.检查数据类型并更正 8.文本数据参与运算 9.数据表 ...
- 切片器可以设置日期格式?_Excel智能表格——套用表格格式,“一键变身”
大家好,我是执着于研究Office小技巧的Angie-- Excel表格堪称职场达人必做项,为了追求美观可视化,每次都要手动操作对表格边框.单元格填充.字体大小进行设置,重点是每次自定义设置完,不仅没 ...
- 套用表格格式转化为普通区域_学会修改表格格式,让你的报表更美观
这是一个追求完美的时代,正确记录数据不代表让数据"好看".尤其是数据表需要与他人共享分析时,更应该从审美和人性化的角度考虑如何调整表格格式,使其更方便被浏览. 掌握格式调整原则 数 ...
- Excel怎么把横排变竖排,一键转换表格格式
在工作或者做作业时,制作表格的过程中,有时候制作到一半或者结束后,发现不想要这种格式,那么Excel怎么把横排变竖排?有没有一键转换表格格式的方法呢?小编今天发现了快速转换的方法,让您轻松得到一个全新 ...
- 表格文件返回给浏览器下载时不是.xlsx表格格式
项目场景: 使用POI组件创建表格返回给浏览器进行下载 问题描述 表格文件返回给浏览器下载时不是.xlsx表格格式 解决方案: response.setHeader("Content-dis ...
- word自动设置表格格式
在处理word时,经常会需要调整表格样式,工作比较繁琐,收集整理了自动设置表格格式的宏,代码如下: Sub 设置表格格式()'功能:光标在表格中处理当前表格:否则处理所有表格!Application. ...
最新文章
- Win7下用VS2010编译QGIS2.9.0
- linux内核博大精深,Linux Kernel里的cpu_to_le32是干啥的?
- tomcat9无法登陆控制界面
- request库的基本使用
- 电容元器件外观视觉检测系统方案设计-东莞康耐德
- WINDOWS2003五种备份模式详解
- 一次解锁三个BIG分析图制作思路,畅快!
- vue.js可视化开发工具_Vue.js开发工具
- ansys linux运行_ANSYS2020R1 产品Linux平台安装
- 2021年C/C++Linux服务器开发/后台架构师知识体系整理(持续更新中)
- 电脑计算机无法找到脚本文件夹,电脑开机老是提醒无法找到脚本文件的处理方法...
- 步步高彭雄:弄潮“互联网+零售”从端到端流程开始
- 如何设置文件的默认打开方式
- luckysheet 只读模式和编辑模式
- [TravelNotes] WC 2017 THUWC 2017 游记
- BandwagonHost 5个数据中心/机房Ping速度测试亲自体验
- 程序员今年必看!!拖更了三年带回了一个抖音,虎牙,哔哩哔哩都在用的库|墙裂推荐
- 电脑计算机的符号什么意思,计算机上面的符号代表什么意思 悬赏20
- CREO 用最简单的方法做个莫比乌斯带
- 手把手带你安装webpack --mac电脑哦~
热门文章
- Impala Shell常用命令行选项与常用命令
- 【蓝桥杯】入门考试十道练习题
- RoaringBitMap在ClickHouse和Spark之间的实践-解决数据仓库预计算多维分析问题
- Tomcat 中的可插拔以及 SCI 的实现原理
- 微博、腾讯视频(部分)提取器-- 后台Node.js篇
- thinkphp执行定时任务定时任务
- 教你如何快速安装Pycharm2018——Pycharm2018安装详细教程(附激活软甲+永久破解)
- android--graphics
- 计算机办公室应用试题,职称考试WORD题库1-职称计算机考试办公应用试卷与试题.pdf...
- 论文阅读笔记|NNLP: A Primer on Neural Network Models for Natural Language Processing - Yoav Goldberg 2015