方法一:
在SQL Server Management Studio配置 max text repl size 选项:
1、在对象资源管理器中,右键单击服务器并选择“属性”。
2、单击“高级”节点。
3、在“杂项”下,将“最大文本复制大小”选项更改为所需的值。
方法二:
利用sp_configure修改max text repl size值;
在查询分析器里运行:sp_configure ‘max text repl size’,’2147483647′
此命令意思重新设置max text repl size值,为2G(即设置image字段存储容量为2G);
这两种方法其实早已经知道,但有时候会忘记,特记录一下;
当数据大于64K时在查询分析器执行select content from table 得到的信息复制出来会是64K但用程序去取得信息时信息是完整的,插入方式应用变量的办法
string sql = "update datacol set web_content=@web_content,web_state=@web_state where id=@id";
SqlParameter[] sqlpar = new SqlParameter[3];
sqlpar[0] = new SqlParameter("@id", id);
sqlpar[1] = new SqlParameter("@web_state", "1");
sqlpar[2] = new SqlParameter("@web_content", gc.GetContent(url));
db.ExecuteSql(sql, sqlpar);
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public int ExecuteSql(string SQLString, params SqlParameter[] cmdParms)
{
try
{
PrepareCommand(null, SQLString, cmdParms);
int rows = BaseSqlCommand.ExecuteNonQuery();
BaseSqlCommand.Parameters.Clear();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
// ITNB.Base.Error.showError(E.Message.ToString());
}
finally
{
BaseSqlCommand.Parameters.Clear();
CloseConnection();
}
}
private void PrepareCommand(SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
{
OpenConnection();
BaseSqlCommand.Connection = BaseSqlConnection;
BaseSqlCommand.CommandText = cmdText;
if (trans != null)
{
BaseSqlCommand.Transaction = trans;
}
BaseSqlCommand.CommandType = CommandType.Text;//cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parameter in cmdParms)
{
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
BaseSqlCommand.Parameters.Add(parameter);
}
}
}