如何准备包含NText(clob)参数的ADO.NET语句

我正在更新一个现有的应用程序,它使用工厂来构建预准备语句,然后在以后执行它们,这对系统的其余部分起作用,但我的任务是添加对使用NText的语句的调用,以及我无法弄清楚如何正确地准备声明。 我得到一个运行时错误“SqlCommand.Prepare方法要求所有变量长度参数具有明确设置的非零大小。” 但我不确定长度使用什么值

强制性代码示例:

SqlCommand update = new SqlCommand("UPDATE Log.Response_File_Log " + "SET File = @File " + ", DateFileReceived = GETDATE() " + "WHERE RunID = @RunID", _connection); update.Parameters.Add(new SqlParameter("@File", SqlDbType.NText)); update.Parameters.Add(new SqlParameter("@RunID", SqlDbType.Int)); update.Prepare(); 

不要使用NTEXT ,是一种不推荐使用的类型 。 如果您的数据库有NTEXT列,请将其更改为VARBINARY(MAX) 。 使用-1表示MAX类型参数的长度: (...,SqlDbType.Varbinary, -1)

你能把它设置为你传递给@File参数的数据的长度吗? 这只是一个建议。