如果发送到SqlCommand.ExecuteNonQuery的字符串太长,该怎么办

本文关键字:怎么办 字符串 SqlCommand ExecuteNonQuery 如果 | 更新日期: 2023-09-27 17:59:11

我创建的插入到表中的字符串大约有2070个字符长,我认为这就是为什么我在将其发送到ExecuteNonQuery:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确的原因。RPC名称无效

如果我将调试器中的字符串复制/粘贴到sql server management studio中并运行,它将正确插入。这就是为什么我认为这是字符串的长度。

我的问题是:有什么方法可以运行这个insert语句吗?有77个值,因此存储过程需要接受所有这些参数,并且这些参数可能并不总是按相同的顺序排列。

我总是可以将Insert语句作为字符串参数发送到只执行动态sql的通用存储过程,但我倾向于完全避免动态sql。

感谢您的帮助。谢谢

如果发送到SqlCommand.ExecuteNonQuery的字符串太长,该怎么办

这是我的错误。

执行ExecuteNonQuery的方法也有我没有指定的commandType参数。因此,默认情况下,它将以CommandType.StoredProcedure.

的形式运行文本