千家信息网

如何解决subsonic3.0插件更新字符串过长引发的异常

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"如何解决subsonic3.0插件更新字符串过长引发的异常",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何解决subsonic3
千家信息网最后更新 2026年10月31日如何解决subsonic3.0插件更新字符串过长引发的异常

这篇文章主要讲解了"如何解决subsonic3.0插件更新字符串过长引发的异常",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何解决subsonic3.0插件更新字符串过长引发的异常"吧!


打开项目解决方案,进入DEBUG模式,拿到操作的数据提交后进行追踪,发现提交时产生了:System.Data.SqlClient.SqlException (0x80131904): 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 4 ("@up_xxx"): 数据类型 0xA7 的数据长度或元数据长度无效。

百度一下发现是由于更新字符串过长引发的异常,必须将参数的Size设置为-1才行,所以按下图处理

复制代码 代码如下:

private static void AddParams(DbCommand cmd, QueryCommand qry)
{
if(qry.Parameters != null)
{
foreach(QueryParameter param in qry.Parameters)
{
DbParameter p = cmd.CreateParameter();
p.ParameterName = param.ParameterName;
p.Direction = param.Mode;
p.DbType = param.DataType;
/*
* 修 改 人:Empty(AllEmpty)
* 修改说明:修改提交的字符串长度过长产生的Bug
* 异常信息:System.Data.SqlClient.SqlException (0x80131904): 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。
* 参数 4 ("@up_xxx"): 数据类型 0xA7 的数据长度或元数据长度无效。
*********************************************/
if (param.DataType.ToString() == "AnsiString")
{
p.Size = -1;
}

//output parameters need to define a size
//our default is 50
if(p.Direction == ParameterDirection.Output || p.Direction == ParameterDirection.InputOutput)
p.Size = param.Size;

//fix for NULLs as parameter values
if(param.ParameterValue == null)
{
p.Value = DBNull.Value;
}
else if(param.DataType == DbType.Guid)
{
string paramValue = param.ParameterValue.ToString();
if (!String.IsNullOrEmpty(paramValue))
{
if(!paramValue.Equals("DEFAULT", StringComparison.InvariantCultureIgnoreCase))
p.Value = new Guid(paramValue);
}
else
p.Value = DBNull.Value;
}
else
p.Value = param.ParameterValue;

cmd.Parameters.Add(p);
}
}
}

感谢各位的阅读,以上就是"如何解决subsonic3.0插件更新字符串过长引发的异常"的内容了,经过本文的学习后,相信大家对如何解决subsonic3.0插件更新字符串过长引发的异常这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 字符 字符串 更新 长度 插件 参数 学习 代码 内容 数据流 格式 类型 表格 过程 下图 信息 就是 思路 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 科技互联网项目 互联网下的科技发展 朗新科技与工业互联网 深圳互联网络科技有限公司 互联网科技公司电话 齐家互联网科技有限公司 互联网科技创新企业排名 顶级互联网科技成果有哪些 受益于互联网科技的高速发展 厦门比较好的科技互联网公司 重庆互联网医院沙龙医盟信息科技 互联网科技公司实习生 米聚互联网科技南京有限公司排面 华夏恒生互联网科技013171 互联网金融科技名词解释 滨湖区互联网智能科技产品有哪些 广州千川互联网科技有限公司 互联网科技和医药行业 中国主要互联网科技公司 南京欣网互联网络科技有限公司 互联网科技论文 唐信互联网科技 大连 国外互联网科技网站 科技赋能互联网健康 东莞新华互联网科技学校 科技赋能视角下互联网保险发展 35岁以上互联网科技行业 湖北辰鑫科技互联网 互联网公司属于科技吗
0