其中在DAL层调用存储过程来插入数据的参数

SqlParameter[] parameters = {
                                            new SqlParameter("@Contents", SqlDbType.VarChar)

                ……

                }

当一次我插入大概7000字左右的文章时,提示如下错误:

[System.Data.SqlClient.SqlException] = {"传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 8 (""@Contents""): 数据类型 0xA7 的数据长度或元数据长度无效。"}

看到这个错误,我就郁闷了,我已经把1万字的文章保存成功了,可这次才7000左右,怎么会失败?

几经测试发现了一个现象:

插入小于4000个汉字,或汉字大于8000的时候,没有问题。但当汉字字符数量在4000~8000之间的时候,

修改如下:

SqlParameter[] parameters = {
                                            new SqlParameter("@Contents", SqlDbType.VarChar)

                ……

                }

修改为:

SqlParameter[] parameters = {
                                            new SqlParameter("@Contents", SqlDbType.VarChar,-1)

                ……

                }

也就是,当类型为text、VarChar(Max)时其对应的size值为-1就可以了。

或者定义:DbType.String

  dbHelper.CreateInDbParameter("@in_Cpg_List", DbType.String, model.Cpg_List),

SQL :“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确” 错误的更多相关文章

  1. 遭遇:“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确” 错误

    http://www.cnblogs.com/delphinet/archive/2010/03/09/1681777.html 正在写一个类似文章的发表系统.其中记录文章内容的字段Contents设 ...

  2. java 执行sql错误 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知

    连接数据库时设置:Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_R ...

  3. 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100

    出现这个问题的背景是,判断一批激活码在系统中是否已经存在,很傻的一个作法是,把这一批激活码,以in(in (‘ddd‘,‘aaa‘))的形式来处理,导致问题的出现. 后来,查找资料,http://bb ...

  4. SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确解决方法

    问题:[SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.参数 1 (""): ...

  5. 转:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 .

    近期在做淘宝客的项目,大家都知道,淘宝的商品详细描述字符长度很大,所以就导致了今天出现了一个问题 VS的报错是这样子的  ” 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确“ 还说某 ...

  6. 今天遇到的传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确的解决方案

    传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.参数 3 ("@UserName"): 数据类型 0xE7 的数据长度或元数据长度无效. 今天在做数据同步的时候遇 ...

  7. 使用 Mybatis 框架 jdbc 方式批量写入 SQL Server,报错 com.microsoft.sqlserver.jdbc.SQLServerException 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数,最多应为2100

    这个错是sqlserver抛出来的. 进过验证,上述错误中的2100为插入的总字段数. 比如下面这种插入方式,values后面的一个括号里的字段为30个,那么后面最多只能加70条,即这种批量插入方式一 ...

  8. sqlserver2008 传入的表格格式数据流(tds)协议流不正确。

    起因是在sql 2008 里使用 sql prompt 报了一个内部连接致命错误,原本应该想到是数据库连接问题的,奇怪的是能连接上数据库也能查询表仅仅是用不了工具没有智能提示. 几经查询无果,度娘上之 ...

  9. SQL SERVER导出特殊格式的平面文件

    有时候我们需要将SQL SERVER的数据一次性导入到ORACLE中,对于数据量大的表.我一般习惯先从SQL SERVER导出特殊格式的平面文件(CSV或TXT),然后用SQL*Loader装载数据到 ...

随机推荐

  1. ORACLE视图简单创建和使用

    1.创建 create view v (pdate,goodsId,productionId,qty)列名 as select p.pdate,p.goodsId,p.productionId,sum ...

  2. tensorFlow可以运行的代码

    折腾了很久,终于运行成功. 才云科技的书不错,就是需要微调一二. 心得:1,记得activate tensorflow,然后再python 2,Python的代码格式很重要,不要错误. 3,还不清楚如 ...

  3. day04 list tuple

    一. 上节课内容回顾 字符串 由', ", ''', """括起来的内容是字符串 字符:单一文字符号. 字符串: 把字符连成串(有顺序的) 索引和切片 s[st ...

  4. [RESTful] DHC Client

    安装Chrome的DHC插件, 进入DHC Client谷歌插件网页. 安装到Chrome浏览器: 点击Chrome设置 点击扩展程序 把刚刚下载的文件解压缩 把 .crx 后缀的文件直接拖入Chro ...

  5. 马凯军201771010116《面向对象与程序设计Java》第十二周学习总结

    一.理论与知识学习部分 Java的抽象窗口工具箱(Abstract Window Toolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 大部分AWT组件都 ...

  6. Linux系统上安装、卸载JAVA、TOMCAT的方法

    一. 安装JAVA 安装方法1:手工上传 创建安装目录上传JAVA安装包 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Styl ...

  7. (原创)Verilog三段式状态机

    下面以上图一个简单的FSM说明三段式Verilog状态机范式: `timescale 1ns / 1ps module FSM( clk,rst_n, in1,in2, out1,out2, CS,N ...

  8. c#中的Cache缓存技术

    1.HttpRuntime.Cache 相当于就是一个缓存具体实现类,这个类虽然被放在了 System.Web 命名空间下了.但是非 Web 应用也是可以拿来用的. 2.HttpContext.Cac ...

  9. 锦囊9-if语句

    [程序描述] 编写程序,通过使用 if...elif...else 语句判断数字是正数.负数或零: [程序分析] 正数.负数或零的判断非常简单,只需要判断这个数是否大于零,小于零或者等于零.由于判断的 ...

  10. 关于matlab中画图放大局部细节的问题

    1)需要用得到一个matnify.m文件,下载地址magnify 2)接下来就是如何使用magnify的问题,参见使用 只是在“使用”中的第二步之前首先要用cd进入magnify所在位置.